koco-cvs Mailing List for Python Korean Codecs
Brought to you by:
perky
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
(88) |
May
(5) |
Jun
|
Jul
(27) |
Aug
|
Sep
|
Oct
(5) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(77) |
Feb
(3) |
Mar
|
Apr
(22) |
May
(123) |
Jun
(80) |
Jul
(83) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Hye-Shik C. <pe...@us...> - 2003-07-25 05:05:21
|
perky 03/07/24 22:05:19 Modified: . MANIFEST.in README.en README.ko setup.py Log: Set this version as 1.0b1 Revision Changes Path 1.2 +2 -1 KoreanCodecs-Pure/MANIFEST.in Index: MANIFEST.in =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/MANIFEST.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- MANIFEST.in 23 Jul 2003 19:09:47 -0000 1.1 +++ MANIFEST.in 25 Jul 2003 05:05:19 -0000 1.2 @@ -1,8 +1,9 @@ -# $Id: MANIFEST.in,v 1.1 2003/07/23 19:09:47 perky Exp $ +# $Id: MANIFEST.in,v 1.2 2003/07/25 05:05:19 perky Exp $ include README README.en README.ko include COPYRIGHT MANIFEST.in recursive-include test * +recursive-include tools *.py global-exclude */CVS/* *.pyc *.pyo 1.2 +3 -3 KoreanCodecs-Pure/README.en Index: README.en =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/README.en,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- README.en 23 Jul 2003 19:09:47 -0000 1.1 +++ README.en 25 Jul 2003 05:05:19 -0000 1.2 @@ -1,8 +1,8 @@ -KoreanCodecs-pure version 1.0 -============================= +KoreanCodecs-pure version 1.0b1 +=============================== Copyright(C) 2003 Hye-Shik Chang. -$Id: README.en,v 1.1 2003/07/23 19:09:47 perky Exp $ +$Id: README.en,v 1.2 2003/07/25 05:05:19 perky Exp $ Notice 1.2 +3 -3 KoreanCodecs-Pure/README.ko Index: README.ko =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/README.ko,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- README.ko 23 Jul 2003 19:09:47 -0000 1.1 +++ README.ko 25 Jul 2003 05:05:19 -0000 1.2 @@ -1,8 +1,8 @@ -ÇѱÛÄÚµ¦/¼ø¼ö±¸Çö ¹öÁ¯ 1.0 -========================== +ÇѱÛÄÚµ¦/¼ø¼ö±¸Çö ¹öÁ¯ 1.0b1 +============================ Copyright(C) 2003 Hye-Shik Chang. -$Id: README.ko,v 1.1 2003/07/23 19:09:47 perky Exp $ +$Id: README.ko,v 1.2 2003/07/25 05:05:19 perky Exp $ ¾Ë¸² 1.3 +2 -2 KoreanCodecs-Pure/setup.py Index: setup.py =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/setup.py,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- setup.py 23 Jul 2003 20:31:43 -0000 1.2 +++ setup.py 25 Jul 2003 05:05:19 -0000 1.3 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: setup.py,v 1.2 2003/07/23 20:31:43 perky Exp $ +# $Id: setup.py,v 1.3 2003/07/25 05:05:19 perky Exp $ # import sys @@ -60,7 +60,7 @@ org_install_lib or self.install_purelib setup (name = "KoreanCodecs-pure", - version = "1.0", + version = "1.0b1", description = "Korean Codecs for Python Unicode Support", long_description = "This package provides Unicode codecs that " "make Python aware of Korean character encodings such as " |
From: Hye-Shik C. <pe...@us...> - 2003-07-23 20:31:45
|
perky 03/07/23 13:31:44 Modified: korean/mappings cp949ext.py ksx1001.py Log: Fix for new mappings Revision Changes Path 1.2 +1 -1 KoreanCodecs-Pure/korean/mappings/cp949ext.py Index: cp949ext.py =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/korean/mappings/cp949ext.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- cp949ext.py 23 Jul 2003 19:10:18 -0000 1.1 +++ cp949ext.py 23 Jul 2003 20:31:43 -0000 1.2 @@ -24,7 +24,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: cp949ext.py,v 1.1 2003/07/23 19:10:18 perky Exp $ +# $Id: cp949ext.py,v 1.2 2003/07/23 20:31:43 perky Exp $ # __data__ = { 1.2 +90 -90 KoreanCodecs-Pure/korean/mappings/ksx1001.py Index: ksx1001.py =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/korean/mappings/ksx1001.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ksx1001.py 23 Jul 2003 19:10:34 -0000 1.1 +++ ksx1001.py 23 Jul 2003 20:31:43 -0000 1.2 @@ -24,11 +24,11 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: ksx1001.py,v 1.1 2003/07/23 19:10:34 perky Exp $ +# $Id: ksx1001.py,v 1.2 2003/07/23 20:31:43 perky Exp $ # __data__ = { -33: (33, 126, u'\ +161: (161, 254, u'\ \u3000\u3001\u3002\u00b7\u2025\u2026\u00a8\u3003\u00ad\u2015\u2225\uff3c\u223c\ \u2018\u2019\u201c\u201d\u3014\u3015\u3008\u3009\u300a\u300b\u300c\u300d\u300e\ \u300f\u3010\u3011\u00b1\u00d7\u00f7\u2260\u2264\u2265\u221e\u2234\u00b0\u2032\ @@ -37,14 +37,14 @@ \u25b3\u25b2\u25bd\u25bc\u2192\u2190\u2191\u2193\u2194\u3013\u226a\u226b\u221a\ \u223d\u221d\u2235\u222b\u222c\u2208\u220b\u2286\u2287\u2282\u2283\u222a\u2229\ \u2227\u2228\uffe2'), -34: (33, 103, u'\ +162: (161, 231, u'\ \u21d2\u21d4\u2200\u2203\u00b4\uff5e\u02c7\u02d8\u02dd\u02da\u02d9\u00b8\u02db\ \u00a1\u00bf\u02d0\u222e\u2211\u220f\u00a4\u2109\u2030\u25c1\u25c0\u25b7\u25b6\ \u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25c8\u25a3\u25d0\u25d1\u2592\u25a4\ \u25a5\u25a8\u25a7\u25a6\u25a9\u2668\u260f\u260e\u261c\u261e\u00b6\u2020\u2021\ \u2195\u2197\u2199\u2196\u2198\u266d\u2669\u266a\u266c\u327f\u321c\u2116\u33c7\ \u2122\u33c2\u33d8\u2121\u20ac\u00ae'), -35: (33, 126, u'\ +163: (161, 254, u'\ \uff01\uff02\uff03\uff04\uff05\uff06\uff07\uff08\uff09\uff0a\uff0b\uff0c\uff0d\ \uff0e\uff0f\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19\uff1a\ \uff1b\uff1c\uff1d\uff1e\uff1f\uff20\uff21\uff22\uff23\uff24\uff25\uff26\uff27\ @@ -53,7 +53,7 @@ \uff42\uff43\uff44\uff45\uff46\uff47\uff48\uff49\uff4a\uff4b\uff4c\uff4d\uff4e\ \uff4f\uff50\uff51\uff52\uff53\uff54\uff55\uff56\uff57\uff58\uff59\uff5a\uff5b\ \uff5c\uff5d\uffe3'), -36: (33, 126, u'\ +164: (161, 254, u'\ \u3131\u3132\u3133\u3134\u3135\u3136\u3137\u3138\u3139\u313a\u313b\u313c\u313d\ \u313e\u313f\u3140\u3141\u3142\u3143\u3144\u3145\u3146\u3147\u3148\u3149\u314a\ \u314b\u314c\u314d\u314e\u314f\u3150\u3151\u3152\u3153\u3154\u3155\u3156\u3157\ @@ -62,7 +62,7 @@ \u3172\u3173\u3174\u3175\u3176\u3177\u3178\u3179\u317a\u317b\u317c\u317d\u317e\ \u317f\u3180\u3181\u3182\u3183\u3184\u3185\u3186\u3187\u3188\u3189\u318a\u318b\ \u318c\u318d\u318e'), -37: (33, 120, u'\ +165: (161, 248, u'\ \u2170\u2171\u2172\u2173\u2174\u2175\u2176\u2177\u2178\u2179\ufffe\ufffe\ufffe\ \ufffe\ufffe\u2160\u2161\u2162\u2163\u2164\u2165\u2166\u2167\u2168\u2169\ufffe\ \ufffe\ufffe\ufffe\ufffe\ufffe\ufffe\u0391\u0392\u0393\u0394\u0395\u0396\u0397\ @@ -70,14 +70,14 @@ \u03a6\u03a7\u03a8\u03a9\ufffe\ufffe\ufffe\ufffe\ufffe\ufffe\ufffe\ufffe\u03b1\ \u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\ \u03bf\u03c0\u03c1\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9'), -38: (33, 100, u'\ +166: (161, 228, u'\ \u2500\u2502\u250c\u2510\u2518\u2514\u251c\u252c\u2524\u2534\u253c\u2501\u2503\ \u250f\u2513\u251b\u2517\u2523\u2533\u252b\u253b\u254b\u2520\u252f\u2528\u2537\ \u253f\u251d\u2530\u2525\u2538\u2542\u2512\u2511\u251a\u2519\u2516\u2515\u250e\ \u250d\u251e\u251f\u2521\u2522\u2526\u2527\u2529\u252a\u252d\u252e\u2531\u2532\ \u2535\u2536\u2539\u253a\u253d\u253e\u2540\u2541\u2543\u2544\u2545\u2546\u2547\ \u2548\u2549\u254a'), -39: (33, 111, u'\ +167: (161, 239, u'\ \u3395\u3396\u3397\u2113\u3398\u33c4\u33a3\u33a4\u33a5\u33a6\u3399\u339a\u339b\ \u339c\u339d\u339e\u339f\u33a0\u33a1\u33a2\u33ca\u338d\u338e\u338f\u33cf\u3388\ \u3389\u33c8\u33a7\u33a8\u33b0\u33b1\u33b2\u33b3\u33b4\u33b5\u33b6\u33b7\u33b8\ @@ -85,7 +85,7 @@ \u3391\u3392\u3393\u3394\u2126\u33c0\u33c1\u338a\u338b\u338c\u33d6\u33c5\u33ad\ \u33ae\u33af\u33db\u33a9\u33aa\u33ab\u33ac\u33dd\u33d0\u33d3\u33c3\u33c9\u33dc\ \u33c6'), -40: (33, 126, u'\ +168: (161, 254, u'\ \u00c6\u00d0\u00aa\u0126\ufffe\u0132\ufffe\u013f\u0141\u00d8\u0152\u00ba\u00de\ \u0166\u014a\ufffe\u3260\u3261\u3262\u3263\u3264\u3265\u3266\u3267\u3268\u3269\ \u326a\u326b\u326c\u326d\u326e\u326f\u3270\u3271\u3272\u3273\u3274\u3275\u3276\ @@ -94,7 +94,7 @@ \u24e5\u24e6\u24e7\u24e8\u24e9\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467\ \u2468\u2469\u246a\u246b\u246c\u246d\u246e\u00bd\u2153\u2154\u00bc\u00be\u215b\ \u215c\u215d\u215e'), -41: (33, 126, u'\ +169: (161, 254, u'\ \u00e6\u0111\u00f0\u0127\u0131\u0133\u0138\u0140\u0142\u00f8\u0153\u00df\u00fe\ \u0167\u014b\u0149\u3200\u3201\u3202\u3203\u3204\u3205\u3206\u3207\u3208\u3209\ \u320a\u320b\u320c\u320d\u320e\u320f\u3210\u3211\u3212\u3213\u3214\u3215\u3216\ @@ -103,7 +103,7 @@ \u24b1\u24b2\u24b3\u24b4\u24b5\u2474\u2475\u2476\u2477\u2478\u2479\u247a\u247b\ \u247c\u247d\u247e\u247f\u2480\u2481\u2482\u00b9\u00b2\u00b3\u2074\u207f\u2081\ \u2082\u2083\u2084'), -42: (33, 115, u'\ +170: (161, 243, u'\ \u3041\u3042\u3043\u3044\u3045\u3046\u3047\u3048\u3049\u304a\u304b\u304c\u304d\ \u304e\u304f\u3050\u3051\u3052\u3053\u3054\u3055\u3056\u3057\u3058\u3059\u305a\ \u305b\u305c\u305d\u305e\u305f\u3060\u3061\u3062\u3063\u3064\u3065\u3066\u3067\ @@ -111,7 +111,7 @@ \u3075\u3076\u3077\u3078\u3079\u307a\u307b\u307c\u307d\u307e\u307f\u3080\u3081\ \u3082\u3083\u3084\u3085\u3086\u3087\u3088\u3089\u308a\u308b\u308c\u308d\u308e\ \u308f\u3090\u3091\u3092\u3093'), -43: (33, 118, u'\ +171: (161, 246, u'\ \u30a1\u30a2\u30a3\u30a4\u30a5\u30a6\u30a7\u30a8\u30a9\u30aa\u30ab\u30ac\u30ad\ \u30ae\u30af\u30b0\u30b1\u30b2\u30b3\u30b4\u30b5\u30b6\u30b7\u30b8\u30b9\u30ba\ \u30bb\u30bc\u30bd\u30be\u30bf\u30c0\u30c1\u30c2\u30c3\u30c4\u30c5\u30c6\u30c7\ @@ -119,7 +119,7 @@ \u30d5\u30d6\u30d7\u30d8\u30d9\u30da\u30db\u30dc\u30dd\u30de\u30df\u30e0\u30e1\ \u30e2\u30e3\u30e4\u30e5\u30e6\u30e7\u30e8\u30e9\u30ea\u30eb\u30ec\u30ed\u30ee\ \u30ef\u30f0\u30f1\u30f2\u30f3\u30f4\u30f5\u30f6'), -44: (33, 113, u'\ +172: (161, 241, u'\ \u0410\u0411\u0412\u0413\u0414\u0415\u0401\u0416\u0417\u0418\u0419\u041a\u041b\ \u041c\u041d\u041e\u041f\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\ \u0429\u042a\u042b\u042c\u042d\u042e\u042f\ufffe\ufffe\ufffe\ufffe\ufffe\ufffe\ @@ -127,7 +127,7 @@ \u0434\u0435\u0451\u0436\u0437\u0438\u0439\u043a\u043b\u043c\u043d\u043e\u043f\ \u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044a\u044b\u044c\ \u044d\u044e\u044f'), -48: (33, 126, u'\ +176: (161, 254, u'\ \uac00\uac01\uac04\uac07\uac08\uac09\uac0a\uac10\uac11\uac12\uac13\uac14\uac15\ \uac16\uac17\uac19\uac1a\uac1b\uac1c\uac1d\uac20\uac24\uac2c\uac2d\uac2f\uac30\ \uac31\uac38\uac39\uac3c\uac40\uac4b\uac4d\uac54\uac58\uac5c\uac70\uac71\uac74\ @@ -136,7 +136,7 @@ \uacb8\uacb9\uacbb\uacbc\uacbd\uacc1\uacc4\uacc8\uaccc\uacd5\uacd7\uace0\uace1\ \uace4\uace7\uace8\uacea\uacec\uacef\uacf0\uacf1\uacf3\uacf5\uacf6\uacfc\uacfd\ \uad00\uad04\uad06'), -49: (33, 126, u'\ +177: (161, 254, u'\ \uad0c\uad0d\uad0f\uad11\uad18\uad1c\uad20\uad29\uad2c\uad2d\uad34\uad35\uad38\ \uad3c\uad44\uad45\uad47\uad49\uad50\uad54\uad58\uad61\uad63\uad6c\uad6d\uad70\ \uad73\uad74\uad75\uad76\uad7b\uad7c\uad7d\uad7f\uad81\uad82\uad88\uad89\uad8c\ @@ -145,7 +145,7 @@ \uae30\uae31\uae34\uae37\uae38\uae3a\uae40\uae41\uae43\uae45\uae46\uae4a\uae4c\ \uae4d\uae4e\uae50\uae54\uae56\uae5c\uae5d\uae5f\uae60\uae61\uae65\uae68\uae69\ \uae6c\uae70\uae78'), -50: (33, 126, u'\ +178: (161, 254, u'\ \uae79\uae7b\uae7c\uae7d\uae84\uae85\uae8c\uaebc\uaebd\uaebe\uaec0\uaec4\uaecc\ \uaecd\uaecf\uaed0\uaed1\uaed8\uaed9\uaedc\uaee8\uaeeb\uaeed\uaef4\uaef8\uaefc\ \uaf07\uaf08\uaf0d\uaf10\uaf2c\uaf2d\uaf30\uaf32\uaf34\uaf3c\uaf3d\uaf3f\uaf41\ @@ -154,7 +154,7 @@ \uafce\uafd4\uafdc\uafe8\uafe9\uaff0\uaff1\uaff4\uaff8\ub000\ub001\ub004\ub00c\ \ub010\ub014\ub01c\ub01d\ub028\ub044\ub045\ub048\ub04a\ub04c\ub04e\ub053\ub054\ \ub055\ub057\ub059'), -51: (33, 126, u'\ +179: (161, 254, u'\ \ub05d\ub07c\ub07d\ub080\ub084\ub08c\ub08d\ub08f\ub091\ub098\ub099\ub09a\ub09c\ \ub09f\ub0a0\ub0a1\ub0a2\ub0a8\ub0a9\ub0ab\ub0ac\ub0ad\ub0ae\ub0af\ub0b1\ub0b3\ \ub0b4\ub0b5\ub0b8\ub0bc\ub0c4\ub0c5\ub0c7\ub0c8\ub0c9\ub0d0\ub0d1\ub0d4\ub0d8\ @@ -163,7 +163,7 @@ \ub144\ub148\ub150\ub151\ub154\ub155\ub158\ub15c\ub160\ub178\ub179\ub17c\ub180\ \ub182\ub188\ub189\ub18b\ub18d\ub192\ub193\ub194\ub198\ub19c\ub1a8\ub1cc\ub1d0\ \ub1d4\ub1dc\ub1dd'), -52: (33, 126, u'\ +180: (161, 254, u'\ \ub1df\ub1e8\ub1e9\ub1ec\ub1f0\ub1f9\ub1fb\ub1fd\ub204\ub205\ub208\ub20b\ub20c\ \ub214\ub215\ub217\ub219\ub220\ub234\ub23c\ub258\ub25c\ub260\ub268\ub269\ub274\ \ub275\ub27c\ub284\ub285\ub289\ub290\ub291\ub294\ub298\ub299\ub29a\ub2a0\ub2a1\ @@ -172,7 +172,7 @@ \ub2f3\ub2f4\ub2f5\ub2f7\ub2f8\ub2f9\ub2fa\ub2fb\ub2ff\ub300\ub301\ub304\ub308\ \ub310\ub311\ub313\ub314\ub315\ub31c\ub354\ub355\ub356\ub358\ub35b\ub35c\ub35e\ \ub35f\ub364\ub365'), -53: (33, 126, u'\ +181: (161, 254, u'\ \ub367\ub369\ub36b\ub36e\ub370\ub371\ub374\ub378\ub380\ub381\ub383\ub384\ub385\ \ub38c\ub390\ub394\ub3a0\ub3a1\ub3a8\ub3ac\ub3c4\ub3c5\ub3c8\ub3cb\ub3cc\ub3ce\ \ub3d0\ub3d4\ub3d5\ub3d7\ub3d9\ub3db\ub3dd\ub3e0\ub3e4\ub3e8\ub3fc\ub410\ub418\ @@ -181,7 +181,7 @@ \ub4c8\ub4d0\ub4d5\ub4dc\ub4dd\ub4e0\ub4e3\ub4e4\ub4e6\ub4ec\ub4ed\ub4ef\ub4f1\ \ub4f8\ub514\ub515\ub518\ub51b\ub51c\ub524\ub525\ub527\ub528\ub529\ub52a\ub530\ \ub531\ub534\ub538'), -54: (33, 126, u'\ +182: (161, 254, u'\ \ub540\ub541\ub543\ub544\ub545\ub54b\ub54c\ub54d\ub550\ub554\ub55c\ub55d\ub55f\ \ub560\ub561\ub5a0\ub5a1\ub5a4\ub5a8\ub5aa\ub5ab\ub5b0\ub5b1\ub5b3\ub5b4\ub5b5\ \ub5bb\ub5bc\ub5bd\ub5c0\ub5c4\ub5cc\ub5cd\ub5cf\ub5d0\ub5d1\ub5d8\ub5ec\ub610\ @@ -190,7 +190,7 @@ \ub72f\ub730\ub738\ub739\ub73b\ub744\ub748\ub74c\ub754\ub755\ub760\ub764\ub768\ \ub770\ub771\ub773\ub775\ub77c\ub77d\ub780\ub784\ub78c\ub78d\ub78f\ub790\ub791\ \ub792\ub796\ub797'), -55: (33, 126, u'\ +183: (161, 254, u'\ \ub798\ub799\ub79c\ub7a0\ub7a8\ub7a9\ub7ab\ub7ac\ub7ad\ub7b4\ub7b5\ub7b8\ub7c7\ \ub7c9\ub7ec\ub7ed\ub7f0\ub7f4\ub7fc\ub7fd\ub7ff\ub800\ub801\ub807\ub808\ub809\ \ub80c\ub810\ub818\ub819\ub81b\ub81d\ub824\ub825\ub828\ub82c\ub834\ub835\ub837\ @@ -199,7 +199,7 @@ \ub8d0\ub8d4\ub8dd\ub8df\ub8e1\ub8e8\ub8e9\ub8ec\ub8f0\ub8f8\ub8f9\ub8fb\ub8fd\ \ub904\ub918\ub920\ub93c\ub93d\ub940\ub944\ub94c\ub94f\ub951\ub958\ub959\ub95c\ \ub960\ub968\ub969'), -56: (33, 126, u'\ +184: (161, 254, u'\ \ub96b\ub96d\ub974\ub975\ub978\ub97c\ub984\ub985\ub987\ub989\ub98a\ub98d\ub98e\ \ub9ac\ub9ad\ub9b0\ub9b4\ub9bc\ub9bd\ub9bf\ub9c1\ub9c8\ub9c9\ub9cc\ub9ce\ub9cf\ \ub9d0\ub9d1\ub9d2\ub9d8\ub9d9\ub9db\ub9dd\ub9de\ub9e1\ub9e3\ub9e4\ub9e5\ub9e8\ @@ -208,7 +208,7 @@ \uba64\uba65\uba67\uba68\uba69\uba70\uba71\uba74\uba78\uba83\uba84\uba85\uba87\ \uba8c\ubaa8\ubaa9\ubaab\ubaac\ubab0\ubab2\ubab8\ubab9\ubabb\ubabd\ubac4\ubac8\ \ubad8\ubad9\ubafc'), -57: (33, 126, u'\ +185: (161, 254, u'\ \ubb00\ubb04\ubb0d\ubb0f\ubb11\ubb18\ubb1c\ubb20\ubb29\ubb2b\ubb34\ubb35\ubb36\ \ubb38\ubb3b\ubb3c\ubb3d\ubb3e\ubb44\ubb45\ubb47\ubb49\ubb4d\ubb4f\ubb50\ubb54\ \ubb58\ubb61\ubb63\ubb6c\ubb88\ubb8c\ubb90\ubba4\ubba8\ubbac\ubbb4\ubbb7\ubbc0\ @@ -217,7 +217,7 @@ \ubc1f\ubc24\ubc25\ubc27\ubc29\ubc2d\ubc30\ubc31\ubc34\ubc38\ubc40\ubc41\ubc43\ \ubc44\ubc45\ubc49\ubc4c\ubc4d\ubc50\ubc5d\ubc84\ubc85\ubc88\ubc8b\ubc8c\ubc8e\ \ubc94\ubc95\ubc97'), -58: (33, 126, u'\ +186: (161, 254, u'\ \ubc99\ubc9a\ubca0\ubca1\ubca4\ubca7\ubca8\ubcb0\ubcb1\ubcb3\ubcb4\ubcb5\ubcbc\ \ubcbd\ubcc0\ubcc4\ubccd\ubccf\ubcd0\ubcd1\ubcd5\ubcd8\ubcdc\ubcf4\ubcf5\ubcf6\ \ubcf8\ubcfc\ubd04\ubd05\ubd07\ubd09\ubd10\ubd14\ubd24\ubd2c\ubd40\ubd48\ubd49\ @@ -226,7 +226,7 @@ \ubddc\ubde9\ubdf0\ubdf4\ubdf8\ube00\ube03\ube05\ube0c\ube0d\ube10\ube14\ube1c\ \ube1d\ube1f\ube44\ube45\ube48\ube4c\ube4e\ube54\ube55\ube57\ube59\ube5a\ube5b\ \ube60\ube61\ube64'), -59: (33, 126, u'\ +187: (161, 254, u'\ \ube68\ube6a\ube70\ube71\ube73\ube74\ube75\ube7b\ube7c\ube7d\ube80\ube84\ube8c\ \ube8d\ube8f\ube90\ube91\ube98\ube99\ubea8\ubed0\ubed1\ubed4\ubed7\ubed8\ubee0\ \ubee3\ubee4\ubee5\ubeec\ubf01\ubf08\ubf09\ubf18\ubf19\ubf1b\ubf1c\ubf1d\ubf40\ @@ -235,7 +235,7 @@ \uc098\uc0a0\uc0a1\uc0a3\uc0a5\uc0ac\uc0ad\uc0af\uc0b0\uc0b3\uc0b4\uc0b5\uc0b6\ \uc0bc\uc0bd\uc0bf\uc0c0\uc0c1\uc0c5\uc0c8\uc0c9\uc0cc\uc0d0\uc0d8\uc0d9\uc0db\ \uc0dc\uc0dd\uc0e4'), -60: (33, 126, u'\ +188: (161, 254, u'\ \uc0e5\uc0e8\uc0ec\uc0f4\uc0f5\uc0f7\uc0f9\uc100\uc104\uc108\uc110\uc115\uc11c\ \uc11d\uc11e\uc11f\uc120\uc123\uc124\uc126\uc127\uc12c\uc12d\uc12f\uc130\uc131\ \uc136\uc138\uc139\uc13c\uc140\uc148\uc149\uc14b\uc14c\uc14d\uc154\uc155\uc158\ @@ -244,7 +244,7 @@ \uc1c4\uc1c8\uc1cc\uc1d4\uc1d7\uc1d8\uc1e0\uc1e4\uc1e8\uc1f0\uc1f1\uc1f3\uc1fc\ \uc1fd\uc200\uc204\uc20c\uc20d\uc20f\uc211\uc218\uc219\uc21c\uc21f\uc220\uc228\ \uc229\uc22b\uc22d'), -61: (33, 126, u'\ +189: (161, 254, u'\ \uc22f\uc231\uc232\uc234\uc248\uc250\uc251\uc254\uc258\uc260\uc265\uc26c\uc26d\ \uc270\uc274\uc27c\uc27d\uc27f\uc281\uc288\uc289\uc290\uc298\uc29b\uc29d\uc2a4\ \uc2a5\uc2a8\uc2ac\uc2ad\uc2b4\uc2b5\uc2b7\uc2b9\uc2dc\uc2dd\uc2e0\uc2e3\uc2e4\ @@ -253,7 +253,7 @@ \uc369\uc36c\uc370\uc372\uc378\uc379\uc37c\uc37d\uc384\uc388\uc38c\uc3c0\uc3d8\ \uc3d9\uc3dc\uc3df\uc3e0\uc3e2\uc3e8\uc3e9\uc3ed\uc3f4\uc3f5\uc3f8\uc408\uc410\ \uc424\uc42c\uc430'), -62: (33, 126, u'\ +190: (161, 254, u'\ \uc434\uc43c\uc43d\uc448\uc464\uc465\uc468\uc46c\uc474\uc475\uc479\uc480\uc494\ \uc49c\uc4b8\uc4bc\uc4e9\uc4f0\uc4f1\uc4f4\uc4f8\uc4fa\uc4ff\uc500\uc501\uc50c\ \uc510\uc514\uc51c\uc528\uc529\uc52c\uc530\uc538\uc539\uc53b\uc53d\uc544\uc545\ @@ -262,7 +262,7 @@ \uc584\uc587\uc58c\uc58d\uc58f\uc591\uc595\uc597\uc598\uc59c\uc5a0\uc5a9\uc5b4\ \uc5b5\uc5b8\uc5b9\uc5bb\uc5bc\uc5bd\uc5be\uc5c4\uc5c5\uc5c6\uc5c7\uc5c8\uc5c9\ \uc5ca\uc5cc\uc5ce'), -63: (33, 126, u'\ +191: (161, 254, u'\ \uc5d0\uc5d1\uc5d4\uc5d8\uc5e0\uc5e1\uc5e3\uc5e5\uc5ec\uc5ed\uc5ee\uc5f0\uc5f4\ \uc5f6\uc5f7\uc5fc\uc5fd\uc5fe\uc5ff\uc600\uc601\uc605\uc606\uc607\uc608\uc60c\ \uc610\uc618\uc619\uc61b\uc61c\uc624\uc625\uc628\uc62c\uc62d\uc62e\uc630\uc633\ @@ -271,7 +271,7 @@ \uc68b\uc68d\uc694\uc695\uc698\uc69c\uc6a4\uc6a5\uc6a7\uc6a9\uc6b0\uc6b1\uc6b4\ \uc6b8\uc6b9\uc6ba\uc6c0\uc6c1\uc6c3\uc6c5\uc6cc\uc6cd\uc6d0\uc6d4\uc6dc\uc6dd\ \uc6e0\uc6e1\uc6e8'), -64: (33, 126, u'\ +192: (161, 254, u'\ \uc6e9\uc6ec\uc6f0\uc6f8\uc6f9\uc6fd\uc704\uc705\uc708\uc70c\uc714\uc715\uc717\ \uc719\uc720\uc721\uc724\uc728\uc730\uc731\uc733\uc735\uc737\uc73c\uc73d\uc740\ \uc744\uc74a\uc74c\uc74d\uc74f\uc751\uc752\uc753\uc754\uc755\uc756\uc757\uc758\ @@ -280,7 +280,7 @@ \uc7a1\uc7a3\uc7a4\uc7a5\uc7a6\uc7ac\uc7ad\uc7b0\uc7b4\uc7bc\uc7bd\uc7bf\uc7c0\ \uc7c1\uc7c8\uc7c9\uc7cc\uc7ce\uc7d0\uc7d8\uc7dd\uc7e4\uc7e8\uc7ec\uc800\uc801\ \uc804\uc808\uc80a'), -65: (33, 126, u'\ +193: (161, 254, u'\ \uc810\uc811\uc813\uc815\uc816\uc81c\uc81d\uc820\uc824\uc82c\uc82d\uc82f\uc831\ \uc838\uc83c\uc840\uc848\uc849\uc84c\uc84d\uc854\uc870\uc871\uc874\uc878\uc87a\ \uc880\uc881\uc883\uc885\uc886\uc887\uc88b\uc88c\uc88d\uc894\uc89d\uc89f\uc8a1\ @@ -289,7 +289,7 @@ \uc934\uc950\uc951\uc954\uc958\uc960\uc961\uc963\uc96c\uc970\uc974\uc97c\uc988\ \uc989\uc98c\uc990\uc998\uc999\uc99b\uc99d\uc9c0\uc9c1\uc9c4\uc9c7\uc9c8\uc9ca\ \uc9d0\uc9d1\uc9d3'), -66: (33, 126, u'\ +194: (161, 254, u'\ \uc9d5\uc9d6\uc9d9\uc9da\uc9dc\uc9dd\uc9e0\uc9e2\uc9e4\uc9e7\uc9ec\uc9ed\uc9ef\ \uc9f0\uc9f1\uc9f8\uc9f9\uc9fc\uca00\uca08\uca09\uca0b\uca0c\uca0d\uca14\uca18\ \uca29\uca4c\uca4d\uca50\uca54\uca5c\uca5d\uca5f\uca60\uca61\uca68\uca7d\uca84\ @@ -298,7 +298,7 @@ \ucb58\ucb59\ucb5d\ucb64\ucb78\ucb79\ucb9c\ucbb8\ucbd4\ucbe4\ucbe7\ucbe9\ucc0c\ \ucc0d\ucc10\ucc14\ucc1c\ucc1d\ucc21\ucc22\ucc27\ucc28\ucc29\ucc2c\ucc2e\ucc30\ \ucc38\ucc39\ucc3b'), -67: (33, 126, u'\ +195: (161, 254, u'\ \ucc3c\ucc3d\ucc3e\ucc44\ucc45\ucc48\ucc4c\ucc54\ucc55\ucc57\ucc58\ucc59\ucc60\ \ucc64\ucc66\ucc68\ucc70\ucc75\ucc98\ucc99\ucc9c\ucca0\ucca8\ucca9\uccab\uccac\ \uccad\uccb4\uccb5\uccb8\uccbc\uccc4\uccc5\uccc7\uccc9\uccd0\uccd4\ucce4\uccec\ @@ -307,7 +307,7 @@ \ucd9c\ucda4\ucda5\ucda7\ucda9\ucdb0\ucdc4\ucdcc\ucdd0\ucde8\ucdec\ucdf0\ucdf8\ \ucdf9\ucdfb\ucdfd\uce04\uce08\uce0c\uce14\uce19\uce20\uce21\uce24\uce28\uce30\ \uce31\uce33\uce35'), -68: (33, 126, u'\ +196: (161, 254, u'\ \uce58\uce59\uce5c\uce5f\uce60\uce61\uce68\uce69\uce6b\uce6d\uce74\uce75\uce78\ \uce7c\uce84\uce85\uce87\uce89\uce90\uce91\uce94\uce98\ucea0\ucea1\ucea3\ucea4\ \ucea5\uceac\ucead\ucec1\ucee4\ucee5\ucee8\uceeb\uceec\ucef4\ucef5\ucef7\ucef8\ @@ -316,7 +316,7 @@ \ucf70\ucf71\ucf74\ucf78\ucf80\ucf85\ucf8c\ucfa1\ucfa8\ucfb0\ucfc4\ucfe0\ucfe1\ \ucfe4\ucfe8\ucff0\ucff1\ucff3\ucff5\ucffc\ud000\ud004\ud011\ud018\ud02d\ud034\ \ud035\ud038\ud03c'), -69: (33, 126, u'\ +197: (161, 254, u'\ \ud044\ud045\ud047\ud049\ud050\ud054\ud058\ud060\ud06c\ud06d\ud070\ud074\ud07c\ \ud07d\ud081\ud0a4\ud0a5\ud0a8\ud0ac\ud0b4\ud0b5\ud0b7\ud0b9\ud0c0\ud0c1\ud0c4\ \ud0c8\ud0c9\ud0d0\ud0d1\ud0d3\ud0d4\ud0d5\ud0dc\ud0dd\ud0e0\ud0e4\ud0ec\ud0ed\ @@ -325,7 +325,7 @@ \ud184\ud188\ud1a0\ud1a1\ud1a4\ud1a8\ud1b0\ud1b1\ud1b3\ud1b5\ud1ba\ud1bc\ud1c0\ \ud1d8\ud1f4\ud1f8\ud207\ud209\ud210\ud22c\ud22d\ud230\ud234\ud23c\ud23d\ud23f\ \ud241\ud248\ud25c'), -70: (33, 126, u'\ +198: (161, 254, u'\ \ud264\ud280\ud281\ud284\ud288\ud290\ud291\ud295\ud29c\ud2a0\ud2a4\ud2ac\ud2b1\ \ud2b8\ud2b9\ud2bc\ud2bf\ud2c0\ud2c2\ud2c8\ud2c9\ud2cb\ud2d4\ud2d8\ud2dc\ud2e4\ \ud2e5\ud2f0\ud2f1\ud2f4\ud2f8\ud300\ud301\ud303\ud305\ud30c\ud30d\ud30e\ud310\ @@ -334,7 +334,7 @@ \ud390\ud391\ud398\ud399\ud39c\ud3a0\ud3a8\ud3a9\ud3ab\ud3ad\ud3b4\ud3b8\ud3bc\ \ud3c4\ud3c5\ud3c8\ud3c9\ud3d0\ud3d8\ud3e1\ud3e3\ud3ec\ud3ed\ud3f0\ud3f4\ud3fc\ \ud3fd\ud3ff\ud401'), -71: (33, 126, u'\ +199: (161, 254, u'\ \ud408\ud41d\ud440\ud444\ud45c\ud460\ud464\ud46d\ud46f\ud478\ud479\ud47c\ud47f\ \ud480\ud482\ud488\ud489\ud48b\ud48d\ud494\ud4a9\ud4cc\ud4d0\ud4d4\ud4dc\ud4df\ \ud4e8\ud4ec\ud4f0\ud4f8\ud4fb\ud4fd\ud504\ud508\ud50c\ud514\ud515\ud517\ud53c\ @@ -343,7 +343,7 @@ \ud5a5\ud5c8\ud5c9\ud5cc\ud5d0\ud5d2\ud5d8\ud5d9\ud5db\ud5dd\ud5e4\ud5e5\ud5e8\ \ud5ec\ud5f4\ud5f5\ud5f7\ud5f9\ud600\ud601\ud604\ud608\ud610\ud611\ud613\ud614\ \ud615\ud61c\ud620'), -72: (33, 126, u'\ +200: (161, 254, u'\ \ud624\ud62d\ud638\ud639\ud63c\ud640\ud645\ud648\ud649\ud64b\ud64d\ud651\ud654\ \ud655\ud658\ud65c\ud667\ud669\ud670\ud671\ud674\ud683\ud685\ud68c\ud68d\ud690\ \ud694\ud69d\ud69f\ud6a1\ud6a8\ud6ac\ud6b0\ud6b9\ud6bb\ud6c4\ud6c5\ud6c8\ud6cc\ @@ -352,7 +352,7 @@ \ud744\ud747\ud749\ud750\ud751\ud754\ud756\ud757\ud758\ud759\ud760\ud761\ud763\ \ud765\ud769\ud76c\ud770\ud774\ud77c\ud77d\ud781\ud788\ud789\ud78c\ud790\ud798\ \ud799\ud79b\ud79d'), -74: (33, 126, u'\ +202: (161, 254, u'\ \u4f3d\u4f73\u5047\u50f9\u52a0\u53ef\u5475\u54e5\u5609\u5ac1\u5bb6\u6687\u67b6\ \u67b7\u67ef\u6b4c\u73c2\u75c2\u7a3c\u82db\u8304\u8857\u8888\u8a36\u8cc8\u8dcf\ \u8efb\u8fe6\u99d5\u523b\u5374\u5404\u606a\u6164\u6bbc\u73cf\u811a\u89ba\u89d2\ @@ -361,7 +361,7 @@ \u559d\u66f7\u6e34\u78a3\u7aed\u845b\u8910\u874e\u97a8\u52d8\u574e\u582a\u5d4c\ \u611f\u61be\u6221\u6562\u67d1\u6a44\u6e1b\u7518\u75b3\u76e3\u77b0\u7d3a\u90af\ \u9451\u9452\u9f95'), -75: (33, 126, u'\ +203: (161, 254, u'\ \u5323\u5cac\u7532\u80db\u9240\u9598\u525b\u5808\u59dc\u5ca1\u5d17\u5eb7\u5f3a\ \u5f4a\u6177\u6c5f\u757a\u7586\u7ce0\u7d73\u7db1\u7f8c\u8154\u8221\u8591\u8941\ \u8b1b\u92fc\u964d\u9c47\u4ecb\u4ef7\u500b\u51f1\u584f\u6137\u613e\u6168\u6539\ @@ -370,7 +370,7 @@ \u6e20\u70ac\u795b\u8ddd\u8e1e\uf902\u907d\u9245\u92f8\u4e7e\u4ef6\u5065\u5dfe\ \u5efa\u6106\u6957\u8171\u8654\u8e47\u9375\u9a2b\u4e5e\u5091\u6770\u6840\u5109\ \u528d\u5292\u6aa2'), -76: (33, 126, u'\ +204: (161, 254, u'\ \u77bc\u9210\u9ed4\u52ab\u602f\u8ff2\u5048\u61a9\u63ed\u64ca\u683c\u6a84\u6fc0\ \u8188\u89a1\u9694\u5805\u727d\u72ac\u7504\u7d79\u7e6d\u80a9\u898b\u8b74\u9063\ \u9d51\u6289\u6c7a\u6f54\u7d50\u7f3a\u8a23\u517c\u614a\u7b9d\u8b19\u9257\u938c\ @@ -379,7 +379,7 @@ \u75d9\u786c\u78ec\u7adf\u7af6\u7d45\u7d93\u8015\u803f\u811b\u8396\u8b66\u8f15\ \u9015\u93e1\u9803\u9838\u9a5a\u9be8\u4fc2\u5553\u583a\u5951\u5b63\u5c46\u60b8\ \u6212\u6842\u68b0'), -77: (33, 126, u'\ +205: (161, 254, u'\ \u68e8\u6eaa\u754c\u7678\u78ce\u7a3d\u7cfb\u7e6b\u7e7c\u8a08\u8aa1\u8c3f\u968e\ \u9dc4\u53e4\u53e9\u544a\u5471\u56fa\u59d1\u5b64\u5c3b\u5eab\u62f7\u6537\u6545\ \u6572\u66a0\u67af\u69c1\u6cbd\u75fc\u7690\u777e\u7a3f\u7f94\u8003\u80a1\u818f\ @@ -388,7 +388,7 @@ \u68cd\u6efe\u7428\u889e\u9be4\u6c68\uf904\u9aa8\u4f9b\u516c\u5171\u529f\u5b54\ \u5de5\u6050\u606d\u62f1\u63a7\u653b\u73d9\u7a7a\u86a3\u8ca2\u978f\u4e32\u5be1\ \u6208\u679c\u74dc'), -78: (33, 126, u'\ +206: (161, 254, u'\ \u79d1\u83d3\u8a87\u8ab2\u8de8\u904e\u934b\u9846\u5ed3\u69e8\u85ff\u90ed\uf905\ \u51a0\u5b98\u5bec\u6163\u68fa\u6b3e\u704c\u742f\u74d8\u7ba1\u7f50\u83c5\u89c0\ \u8cab\u95dc\u9928\u522e\u605d\u62ec\u9002\u4f8a\u5149\u5321\u58d9\u5ee3\u66e0\ @@ -397,7 +397,7 @@ \u55ac\u5b0c\u5da0\u5de7\u652a\u654e\u6821\u6a4b\u72e1\u768e\u77ef\u7d5e\u7ff9\ \u81a0\u854e\u86df\u8f03\u8f4e\u90ca\u9903\u9a55\u9bab\u4e18\u4e45\u4e5d\u4ec7\ \u4ff1\u5177\u52fe'), -79: (33, 126, u'\ +207: (161, 254, u'\ \u5340\u53e3\u53e5\u548e\u5614\u5775\u57a2\u5bc7\u5d87\u5ed0\u61fc\u62d8\u6551\ \u67b8\u67e9\u69cb\u6b50\u6bc6\u6bec\u6c42\u6e9d\u7078\u72d7\u7396\u7403\u77bf\ \u77e9\u7a76\u7d7f\u8009\u81fc\u8205\u820a\u82df\u8862\u8b33\u8cfc\u8ec0\u9011\ @@ -406,7 +406,7 @@ \u7a79\u7aae\u828e\u8eac\u5026\u5238\u52f8\u5377\u5708\u62f3\u6372\u6b0a\u6dc3\ \u7737\u53a5\u7357\u8568\u8e76\u95d5\u673a\u6ac3\u6f70\u8a6d\u8ecc\u994b\uf906\ \u6677\u6b78\u8cb4'), -80: (33, 126, u'\ +208: (161, 254, u'\ \u9b3c\uf907\u53eb\u572d\u594e\u63c6\u69fb\u73ea\u7845\u7aba\u7ac5\u7cfe\u8475\ \u898f\u8d73\u9035\u95a8\u52fb\u5747\u7547\u7b60\u83cc\u921e\uf908\u6a58\u514b\ \u524b\u5287\u621f\u68d8\u6975\u9699\u50c5\u52a4\u52e4\u61c3\u65a4\u6839\u69ff\ @@ -415,7 +415,7 @@ \u6271\u6c72\u7d1a\u7d66\u4e98\u5162\u77dc\u80af\u4f01\u4f0e\u5176\u5180\u55dc\ \u5668\u573b\u57fa\u57fc\u5914\u5947\u5993\u5bc4\u5c90\u5d0e\u5df1\u5e7e\u5fcc\ \u6280\u65d7\u65e3'), -81: (33, 126, u'\ +209: (161, 254, u'\ \u671e\u671f\u675e\u68cb\u68c4\u6a5f\u6b3a\u6c23\u6c7d\u6c82\u6dc7\u7398\u7426\ \u742a\u7482\u74a3\u7578\u757f\u7881\u78ef\u7941\u7947\u7948\u797a\u7b95\u7d00\ \u7dba\u7f88\u8006\u802d\u808c\u8a18\u8b4f\u8c48\u8d77\u9321\u9324\u98e2\u9951\ @@ -424,7 +424,7 @@ \uf914\uf915\uf916\uf917\uf918\u8afe\uf919\uf91a\uf91b\uf91c\u6696\uf91d\u7156\ \uf91e\uf91f\u96e3\uf920\u634f\u637a\u5357\uf921\u678f\u6960\u6e73\uf922\u7537\ \uf923\uf924\uf925'), -82: (33, 126, u'\ +210: (161, 254, u'\ \u7d0d\uf926\uf927\u8872\u56ca\u5a18\uf928\uf929\uf92a\uf92b\uf92c\u4e43\uf92d\ \u5167\u5948\u67f0\u8010\uf92e\u5973\u5e74\u649a\u79ca\u5ff5\u606c\u62c8\u637b\ \u5be7\u5bd7\u52aa\uf92f\u5974\u5f29\u6012\uf930\uf931\uf932\u7459\uf933\uf934\ @@ -433,7 +433,7 @@ \uf949\u5c3f\uf94a\uf94b\uf94c\uf94d\uf94e\uf94f\uf950\uf951\u5ae9\u8a25\u677b\ \u7d10\uf952\uf953\uf954\uf955\uf956\uf957\u80fd\uf958\uf959\u5c3c\u6ce5\u533f\ \u6eba\u591a\u8336'), -83: (33, 126, u'\ +211: (161, 254, u'\ \u4e39\u4eb6\u4f46\u55ae\u5718\u58c7\u5f56\u65b7\u65e6\u6a80\u6bb5\u6e4d\u77ed\ \u7aef\u7c1e\u7dde\u86cb\u8892\u9132\u935b\u64bb\u6fbe\u737a\u75b8\u9054\u5556\ \u574d\u61ba\u64d4\u66c7\u6de1\u6e5b\u6f6d\u6fb9\u75f0\u8043\u81bd\u8541\u8983\ @@ -442,7 +442,7 @@ \u5f85\u6234\u64e1\u73b3\u81fa\u888b\u8cb8\u968a\u9edb\u5b85\u5fb7\u60b3\u5012\ \u5200\u5230\u5716\u5835\u5857\u5c0e\u5c60\u5cf6\u5d8b\u5ea6\u5f92\u60bc\u6311\ \u6389\u6417\u6843'), -84: (33, 126, u'\ +212: (161, 254, u'\ \u68f9\u6ac2\u6dd8\u6e21\u6ed4\u6fe4\u71fe\u76dc\u7779\u79b1\u7a3b\u8404\u89a9\ \u8ced\u8df3\u8e48\u9003\u9014\u9053\u90fd\u934d\u9676\u97dc\u6bd2\u7006\u7258\ \u72a2\u7368\u7763\u79bf\u7be4\u7e9b\u8b80\u58a9\u60c7\u6566\u65fd\u66be\u6c8c\ @@ -451,7 +451,7 @@ \u6793\u75d8\u7ac7\u8373\uf95a\u8c46\u9017\u982d\u5c6f\u81c0\u829a\u9041\u906f\ \u920d\u5f97\u5d9d\u6a59\u71c8\u767b\u7b49\u85e4\u8b04\u9127\u9a30\u5587\u61f6\ \uf95b\u7669\u7f85'), -85: (33, 126, u'\ +213: (161, 254, u'\ \u863f\u87ba\u88f8\u908f\uf95c\u6d1b\u70d9\u73de\u7d61\u843d\uf95d\u916a\u99f1\ \uf95e\u4e82\u5375\u6b04\u6b12\u703e\u721b\u862d\u9e1e\u524c\u8fa3\u5d50\u64e5\ \u652c\u6b16\u6feb\u7c43\u7e9c\u85cd\u8964\u89bd\u62c9\u81d8\u881f\u5eca\u6717\ @@ -460,7 +460,7 @@ \u4fb6\u5137\u52f5\u5442\u5eec\u616e\u623e\u65c5\u6ada\u6ffe\u792a\u85dc\u8823\ \u95ad\u9a62\u9a6a\u9e97\u9ece\u529b\u66c6\u6b77\u701d\u792b\u8f62\u9742\u6190\ \u6200\u6523\u6f23'), -86: (33, 126, u'\ +214: (161, 254, u'\ \u7149\u7489\u7df4\u806f\u84ee\u8f26\u9023\u934a\u51bd\u5217\u52a3\u6d0c\u70c8\ \u88c2\u5ec9\u6582\u6bae\u6fc2\u7c3e\u7375\u4ee4\u4f36\u56f9\uf95f\u5cba\u5dba\ \u601c\u73b2\u7b2d\u7f9a\u7fce\u8046\u901e\u9234\u96f6\u9748\u9818\u9f61\u4f8b\ @@ -469,7 +469,7 @@ \u9304\u9e7f\u9e93\u8ad6\u58df\u5f04\u6727\u7027\u74cf\u7c60\u807e\u5121\u7028\ \u7262\u78ca\u8cc2\u8cda\u8cf4\u96f7\u4e86\u50da\u5bee\u5ed6\u6599\u71ce\u7642\ \u77ad\u804a\u84fc'), -87: (33, 126, u'\ +215: (161, 254, u'\ \u907c\u9b27\u9f8d\u58d8\u5a41\u5c62\u6a13\u6dda\u6f0f\u763b\u7d2f\u7e37\u851e\ \u8938\u93e4\u964b\u5289\u65d2\u67f3\u69b4\u6d41\u6e9c\u700f\u7409\u7460\u7559\ \u7624\u786b\u8b2c\u985e\u516d\u622e\u9678\u4f96\u502b\u5d19\u6dea\u7db8\u8f2a\ @@ -478,7 +478,7 @@ \u7406\u7483\uf962\u75e2\u7c6c\u7f79\u7fb8\u8389\u88cf\u88e1\u91cc\u91d0\u96e2\ \u9bc9\u541d\u6f7e\u71d0\u7498\u85fa\u8eaa\u96a3\u9c57\u9e9f\u6797\u6dcb\u7433\ \u81e8\u9716\u782c'), -88: (33, 126, u'\ +216: (161, 254, u'\ \u7acb\u7b20\u7c92\u6469\u746a\u75f2\u78bc\u78e8\u99ac\u9b54\u9ebb\u5bde\u5e55\ \u6f20\u819c\u83ab\u9088\u4e07\u534d\u5a29\u5dd2\u5f4e\u6162\u633d\u6669\u66fc\ \u6eff\u6f2b\u7063\u779e\u842c\u8513\u883b\u8f13\u9945\u9c3b\u551c\u62b9\u672b\ @@ -487,7 +487,7 @@ \u8cb7\u8ce3\u9081\u9b45\u8108\u8c8a\u964c\u9a40\u9ea5\u5b5f\u6c13\u731b\u76f2\ \u76df\u840c\u51aa\u8993\u514d\u5195\u52c9\u68c9\u6c94\u7704\u7720\u7dbf\u7dec\ \u9762\u9eb5\u6ec5'), -89: (33, 126, u'\ +217: (161, 254, u'\ \u8511\u51a5\u540d\u547d\u660e\u669d\u6927\u6e9f\u76bf\u7791\u8317\u84c2\u879f\ \u9169\u9298\u9cf4\u8882\u4fae\u5192\u52df\u59c6\u5e3d\u6155\u6478\u6479\u66ae\ \u67d0\u6a21\u6bcd\u6bdb\u725f\u7261\u7441\u7738\u77db\u8017\u82bc\u8305\u8b00\ @@ -496,7 +496,7 @@ \u52d9\u5deb\u61ae\u61cb\u620a\u62c7\u64ab\u65e0\u6959\u6b66\u6bcb\u7121\u73f7\ \u755d\u7e46\u821e\u8302\u856a\u8aa3\u8cbf\u9727\u9d61\u58a8\u9ed8\u5011\u520e\ \u543b\u554f\u6587'), -90: (33, 126, u'\ +218: (161, 254, u'\ \u6c76\u7d0a\u7d0b\u805e\u868a\u9580\u96ef\u52ff\u6c95\u7269\u5473\u5a9a\u5c3e\ \u5d4b\u5f4c\u5fae\u672a\u68b6\u6963\u6e3c\u6e44\u7709\u7c73\u7f8e\u8587\u8b0e\ \u8ff7\u9761\u9ef4\u5cb7\u60b6\u610d\u61ab\u654f\u65fb\u65fc\u6c11\u6cef\u739f\ @@ -505,7 +505,7 @@ \u534a\u53cd\u53db\u62cc\u642c\u6500\u6591\u69c3\u6cee\u6f58\u73ed\u7554\u7622\ \u76e4\u76fc\u78d0\u78fb\u792c\u7d46\u822c\u87e0\u8fd4\u9812\u98ef\u52c3\u62d4\ \u64a5\u6e24\u6f51'), -91: (33, 126, u'\ +219: (161, 254, u'\ \u767c\u8dcb\u91b1\u9262\u9aee\u9b43\u5023\u508d\u574a\u59a8\u5c28\u5e47\u5f77\ \u623f\u653e\u65b9\u65c1\u6609\u678b\u699c\u6ec2\u78c5\u7d21\u80aa\u8180\u822b\ \u82b3\u84a1\u868c\u8a2a\u8b17\u90a6\u9632\u9f90\u500d\u4ff3\uf963\u57f9\u5f98\ @@ -514,7 +514,7 @@ \u71d4\u756a\uf964\u7e41\u8543\u85e9\u98dc\u4f10\u7b4f\u7f70\u95a5\u51e1\u5e06\ \u68b5\u6c3e\u6c4e\u6cdb\u72af\u7bc4\u8303\u6cd5\u743a\u50fb\u5288\u58c1\u64d8\ \u6a97\u74a7\u7656'), -92: (33, 126, u'\ +220: (161, 254, u'\ \u78a7\u8617\u95e2\u9739\uf965\u535e\u5f01\u8b8a\u8fa8\u8faf\u908a\u5225\u77a5\ \u9c49\u9f08\u4e19\u5002\u5175\u5c5b\u5e77\u661e\u663a\u67c4\u68c5\u70b3\u7501\ \u75c5\u79c9\u7add\u8f27\u9920\u9a08\u4fdd\u5821\u5831\u5bf6\u666e\u6b65\u6d11\ @@ -523,7 +523,7 @@ \u672c\u4e76\u4ff8\u5949\u5c01\u5cef\u5cf0\u6367\u68d2\u70fd\u71a2\u742b\u7e2b\ \u84ec\u8702\u9022\u92d2\u9cf3\u4e0d\u4ed8\u4fef\u5085\u5256\u526f\u5426\u5490\ \u57e0\u592b\u5a66'), -93: (33, 126, u'\ +221: (161, 254, u'\ \u5b5a\u5b75\u5bcc\u5e9c\uf966\u6276\u6577\u65a7\u6d6e\u6ea5\u7236\u7b26\u7c3f\ \u7f36\u8150\u8151\u819a\u8240\u8299\u83a9\u8a03\u8ca0\u8ce6\u8cfb\u8d74\u8dba\ \u90e8\u91dc\u961c\u9644\u99d9\u9ce7\u5317\u5206\u5429\u5674\u58b3\u5954\u596e\ @@ -532,7 +532,7 @@ \u5315\u532a\u5351\u5983\u5a62\u5e87\u60b2\u618a\u6249\u6279\u6590\u6787\u69a7\ \u6bd4\u6bd6\u6bd7\u6bd8\u6cb8\uf968\u7435\u75fa\u7812\u7891\u79d5\u79d8\u7c83\ \u7dcb\u7fe1\u80a5'), -94: (33, 126, u'\ +222: (161, 254, u'\ \u813e\u81c2\u83f2\u871a\u88e8\u8ab9\u8b6c\u8cbb\u9119\u975e\u98db\u9f3b\u56ac\ \u5b2a\u5f6c\u658c\u6ab3\u6baf\u6d5c\u6ff1\u7015\u725d\u73ad\u8ca7\u8cd3\u983b\ \u6191\u6c37\u8058\u9a01\u4e4d\u4e8b\u4e9b\u4ed5\u4f3a\u4f3c\u4f7f\u4fdf\u50ff\ @@ -541,7 +541,7 @@ \u7345\u7802\u793e\u7940\u7960\u79c1\u7be9\u7d17\u7d72\u8086\u820d\u838e\u84d1\ \u86c7\u88df\u8a50\u8a5e\u8b1d\u8cdc\u8d66\u8fad\u90aa\u98fc\u99df\u9e9d\u524a\ \uf969\u6714\uf96a'), -95: (33, 126, u'\ +223: (161, 254, u'\ \u5098\u522a\u5c71\u6563\u6c55\u73ca\u7523\u759d\u7b97\u849c\u9178\u9730\u4e77\ \u6492\u6bba\u715e\u85a9\u4e09\uf96b\u6749\u68ee\u6e17\u829f\u8518\u886b\u63f7\ \u6f81\u9212\u98af\u4e0a\u50b7\u50cf\u511f\u5546\u55aa\u5617\u5b40\u5c19\u5ce0\ @@ -550,7 +550,7 @@ \u7a61\u7d22\u8272\u7272\u751f\u7525\uf96d\u7b19\u5885\u58fb\u5dbc\u5e8f\u5eb6\ \u5f90\u6055\u6292\u637f\u654d\u6691\u66d9\u66f8\u6816\u68f2\u7280\u745e\u7b6e\ \u7d6e\u7dd6\u7f72'), -96: (33, 126, u'\ +224: (161, 254, u'\ \u80e5\u8212\u85af\u897f\u8a93\u901d\u92e4\u9ecd\u9f20\u5915\u596d\u5e2d\u60dc\ \u6614\u6673\u6790\u6c50\u6dc5\u6f5f\u77f3\u78a9\u84c6\u91cb\u932b\u4ed9\u50ca\ \u5148\u5584\u5b0b\u5ba3\u6247\u657e\u65cb\u6e32\u717d\u7401\u7444\u7487\u74bf\ @@ -559,7 +559,7 @@ \u8a2d\u8aaa\u96ea\u9f67\u5261\u66b9\u6bb2\u7e96\u87fe\u8d0d\u9583\u965d\u651d\ \u6d89\u71ee\uf96e\u57ce\u59d3\u5bac\u6027\u60fa\u6210\u661f\u665f\u7329\u73f9\ \u76db\u7701\u7b6c'), -97: (33, 126, u'\ +225: (161, 254, u'\ \u8056\u8072\u8165\u8aa0\u9192\u4e16\u52e2\u6b72\u6d17\u7a05\u7b39\u7d30\uf96f\ \u8cb0\u53ec\u562f\u5851\u5bb5\u5c0f\u5c11\u5de2\u6240\u6383\u6414\u662d\u68b3\ \u6cbc\u6d88\u6eaf\u701f\u70a4\u71d2\u7526\u758f\u758e\u7619\u7b11\u7be0\u7c2b\ @@ -568,7 +568,7 @@ \u98e1\u7387\u5b8b\u609a\u677e\u6dde\u8a1f\u8aa6\u9001\u980c\u5237\uf970\u7051\ \u788e\u9396\u8870\u91d7\u4fee\u53d7\u55fd\u56da\u5782\u58fd\u5ac2\u5b88\u5cab\ \u5cc0\u5e25\u6101'), -98: (33, 126, u'\ +226: (161, 254, u'\ \u620d\u624b\u6388\u641c\u6536\u6578\u6a39\u6b8a\u6c34\u6d19\u6f31\u71e7\u72e9\ \u7378\u7407\u74b2\u7626\u7761\u79c0\u7a57\u7aea\u7cb9\u7d8f\u7dac\u7e61\u7f9e\ \u8129\u8331\u8490\u84da\u85ea\u8896\u8ab0\u8b90\u8f38\u9042\u9083\u916c\u9296\ @@ -577,7 +577,7 @@ \u65ec\u6812\u696f\u6a53\u6b89\u6d35\u6df3\u73e3\u76fe\u77ac\u7b4d\u7d14\u8123\ \u821c\u8340\u84f4\u8563\u8a62\u8ac4\u9187\u931e\u9806\u99b4\u620c\u8853\u8ff0\ \u9265\u5d07\u5d27'), -99: (33, 126, u'\ +227: (161, 254, u'\ \u5d69\u745f\u819d\u8768\u6fd5\u62fe\u7fd2\u8936\u8972\u4e1e\u4e58\u50e7\u52dd\ \u5347\u627f\u6607\u7e69\u8805\u965e\u4f8d\u5319\u5636\u59cb\u5aa4\u5c38\u5c4e\ \u5c4d\u5e02\u5f11\u6043\u65bd\u662f\u6642\u67be\u67f4\u731c\u77e2\u793a\u7fc5\ @@ -586,7 +586,7 @@ \u547b\u5a20\u5bb8\u613c\u65b0\u6668\u71fc\u7533\u795e\u7d33\u814e\u81e3\u8398\ \u85aa\u85ce\u8703\u8a0a\u8eab\u8f9b\uf971\u8fc5\u5931\u5ba4\u5be6\u6089\u5be9\ \u5c0b\u5fc3\u6c81'), -100: (33, 126, u'\ +228: (161, 254, u'\ \uf972\u6df1\u700b\u751a\u82af\u8af6\u4ec0\u5341\uf973\u96d9\u6c0f\u4e9e\u4fc4\ \u5152\u555e\u5a25\u5ce8\u6211\u7259\u82bd\u83aa\u86fe\u8859\u8a1d\u963f\u96c5\ \u9913\u9d09\u9d5d\u580a\u5cb3\u5dbd\u5e44\u60e1\u6115\u63e1\u6a02\u6e25\u9102\ @@ -595,7 +595,7 @@ \u58d3\u62bc\u72ce\u9d28\u4ef0\u592e\u600f\u663b\u6b83\u79e7\u9d26\u5393\u54c0\ \u57c3\u5d16\u611b\u66d6\u6daf\u788d\u827e\u9698\u9744\u5384\u627c\u6396\u6db2\ \u7e0a\u814b\u984d'), -101: (33, 126, u'\ +229: (161, 254, u'\ \u6afb\u7f4c\u9daf\u9e1a\u4e5f\u503b\u51b6\u591c\u60f9\u63f6\u6930\u723a\u8036\ \uf974\u91ce\u5f31\uf975\uf976\u7d04\u82e5\u846f\u84bb\u85e5\u8e8d\uf977\u4f6f\ \uf978\uf979\u58e4\u5b43\u6059\u63da\u6518\u656d\u6698\uf97a\u694a\u6a23\u6d0b\ @@ -604,7 +604,7 @@ \u5104\u61b6\u6291\u6a8d\u81c6\u5043\u5830\u5f66\u7109\u8a00\u8afa\u5b7c\u8616\ \u4ffa\u513c\u56b4\u5944\u63a9\u6df9\u5daa\u696d\u5186\u4e88\u4f59\uf97f\uf980\ \uf981\u5982\uf982'), -102: (33, 126, u'\ +230: (161, 254, u'\ \uf983\u6b5f\u6c5d\uf984\u74b5\u7916\uf985\u8207\u8245\u8339\u8f3f\u8f5d\uf986\ \u9918\uf987\uf988\uf989\u4ea6\uf98a\u57df\u5f79\u6613\uf98b\uf98c\u75ab\u7e79\ \u8b6f\uf98d\u9006\u9a5b\u56a5\u5827\u59f8\u5a1f\u5bb4\uf98e\u5ef6\uf98f\uf990\ @@ -613,7 +613,7 @@ \u884d\u8edf\uf998\uf999\uf99a\u925b\uf99b\u9cf6\uf99c\uf99d\uf99e\u6085\u6d85\ \uf99f\u71b1\uf9a0\uf9a1\u95b1\u53ad\uf9a2\uf9a3\uf9a4\u67d3\uf9a5\u708e\u7130\ \u7430\u8276\u82d2'), -103: (33, 126, u'\ +231: (161, 254, u'\ \uf9a6\u95bb\u9ae5\u9e7d\u66c4\uf9a7\u71c1\u8449\uf9a8\uf9a9\u584b\uf9aa\uf9ab\ \u5db8\u5f71\uf9ac\u6620\u668e\u6979\u69ae\u6c38\u6cf3\u6e36\u6f41\u6fda\u701b\ \u702f\u7150\u71df\u7370\uf9ad\u745b\uf9ae\u74d4\u76c8\u7a4e\u7e93\uf9af\uf9b0\ @@ -622,7 +622,7 @@ \u8b7d\u8c6b\uf9b7\u92b3\uf9b8\u9713\u9810\u4e94\u4f0d\u4fc9\u50b2\u5348\u543e\ \u5433\u55da\u5862\u58ba\u5967\u5a1b\u5be4\u609f\uf9b9\u61ca\u6556\u65ff\u6664\ \u68a7\u6c5a\u6fb3'), -104: (33, 126, u'\ +232: (161, 254, u'\ \u70cf\u71ac\u7352\u7b7d\u8708\u8aa4\u9c32\u9f07\u5c4b\u6c83\u7344\u7389\u923a\ \u6eab\u7465\u761f\u7a69\u7e15\u860a\u5140\u58c5\u64c1\u74ee\u7515\u7670\u7fc1\ \u9095\u96cd\u9954\u6e26\u74e6\u7aa9\u7aaa\u81e5\u86d9\u8778\u8a1b\u5a49\u5b8c\ @@ -631,7 +631,7 @@ \u5916\u5d6c\u5dcd\u7325\u754f\uf9ba\uf9bb\u50e5\u51f9\u582f\u592d\u5996\u59da\ \u5be5\uf9bc\uf9bd\u5da2\u62d7\u6416\u6493\u64fe\uf9be\u66dc\uf9bf\u6a48\uf9c0\ \u71ff\u7464\uf9c1'), -105: (33, 126, u'\ +233: (161, 254, u'\ \u7a88\u7aaf\u7e47\u7e5e\u8000\u8170\uf9c2\u87ef\u8981\u8b20\u9059\uf9c3\u9080\ \u9952\u617e\u6b32\u6d74\u7e1f\u8925\u8fb1\u4fd1\u50ad\u5197\u52c7\u57c7\u5889\ \u5bb9\u5eb8\u6142\u6995\u6d8c\u6e67\u6eb6\u7194\u7462\u7528\u752c\u8073\u8338\ @@ -640,7 +640,7 @@ \u7fbd\u828b\u85d5\u865e\u8fc2\u9047\u90f5\u91ea\u9685\u96e8\u96e9\u52d6\u5f67\ \u65ed\u6631\u682f\u715c\u7a36\u90c1\u980a\u4e91\uf9c5\u6a52\u6b9e\u6f90\u7189\ \u8018\u82b8\u8553'), -106: (33, 126, u'\ +234: (161, 254, u'\ \u904b\u9695\u96f2\u97fb\u851a\u9b31\u4e90\u718a\u96c4\u5143\u539f\u54e1\u5713\ \u5712\u57a3\u5a9b\u5ac4\u5bc3\u6028\u613f\u63f4\u6c85\u6d39\u6e72\u6e90\u7230\ \u733f\u7457\u82d1\u8881\u8f45\u9060\uf9c6\u9662\u9858\u9d1b\u6708\u8d8a\u925e\ @@ -649,7 +649,7 @@ \u4f91\u5112\u516a\uf9c7\u552f\u55a9\u5b7a\u5ba5\u5e7c\u5e7d\u5ebe\u60a0\u60df\ \u6108\u6109\u63c4\u6538\u6709\uf9c8\u67d4\u67da\uf9c9\u6961\u6962\u6cb9\u6d27\ \uf9ca\u6e38\uf9cb'), -107: (33, 126, u'\ +235: (161, 254, u'\ \u6fe1\u7336\u7337\uf9cc\u745c\u7531\uf9cd\u7652\uf9ce\uf9cf\u7dad\u81fe\u8438\ \u88d5\u8a98\u8adb\u8aed\u8e30\u8e42\u904a\u903e\u907a\u9149\u91c9\u936e\uf9d0\ \uf9d1\u5809\uf9d2\u6bd3\u8089\u80b2\uf9d3\uf9d4\u5141\u596b\u5c39\uf9d5\uf9d6\ @@ -658,7 +658,7 @@ \u6deb\u852d\u9670\u97f3\u98ee\u63d6\u6ce3\u9091\u51dd\u61c9\u81ba\u9df9\u4f9d\ \u501a\u5100\u5b9c\u610f\u61ff\u64ec\u6905\u6bc5\u7591\u77e3\u7fa9\u8264\u858f\ \u87fb\u8863\u8abc'), -108: (33, 126, u'\ +236: (161, 254, u'\ \u8b70\u91ab\u4e8c\u4ee5\u4f0a\uf9dd\uf9de\u5937\u59e8\uf9df\u5df2\u5f1b\u5f5b\ \u6021\uf9e0\uf9e1\uf9e2\uf9e3\u723e\u73e5\uf9e4\u7570\u75cd\uf9e5\u79fb\uf9e6\ \u800c\u8033\u8084\u82e1\u8351\uf9e7\uf9e8\u8cbd\u8cb3\u9087\uf9e9\uf9ea\u98f4\ @@ -667,7 +667,7 @@ \u8693\u8a8d\uf9f1\u976d\u9777\uf9f2\uf9f3\u4e00\u4f5a\u4f7e\u58f9\u65e5\u6ea2\ \u9038\u93b0\u99b9\u4efb\u58ec\u598a\u59d9\u6041\uf9f4\uf9f5\u7a14\uf9f6\u834f\ \u8cc3\u5165\u5344'), -109: (33, 126, u'\ +237: (161, 254, u'\ \uf9f7\uf9f8\uf9f9\u4ecd\u5269\u5b55\u82bf\u4ed4\u523a\u54a8\u59c9\u59ff\u5b50\ \u5b57\u5b5c\u6063\u6148\u6ecb\u7099\u716e\u7386\u74f7\u75b5\u78c1\u7d2b\u8005\ \u81ea\u8328\u8517\u85c9\u8aee\u8cc7\u96cc\u4f5c\u52fa\u56bc\u65ab\u6628\u707c\ @@ -676,7 +676,7 @@ \u5c07\u5e33\u5e84\u5f35\u638c\u66b2\u6756\u6a1f\u6aa3\u6b0c\u6f3f\u7246\uf9fa\ \u7350\u748b\u7ae0\u7ca7\u8178\u81df\u81e7\u838a\u846c\u8523\u8594\u85cf\u88dd\ \u8d13\u91ac\u9577'), -110: (33, 126, u'\ +238: (161, 254, u'\ \u969c\u518d\u54c9\u5728\u5bb0\u624d\u6750\u683d\u6893\u6e3d\u6ed3\u707d\u7e21\ \u88c1\u8ca1\u8f09\u9f4b\u9f4e\u722d\u7b8f\u8acd\u931a\u4f47\u4f4e\u5132\u5480\ \u59d0\u5e95\u62b5\u6775\u696e\u6a17\u6cae\u6e1a\u72d9\u732a\u75bd\u7bb8\u7d35\ @@ -685,7 +685,7 @@ \u837b\u8b2b\u8cca\u8d64\u8de1\u8e5f\u8fea\u8ff9\u9069\u93d1\u4f43\u4f7a\u50b3\ \u5168\u5178\u524d\u526a\u5861\u587c\u5960\u5c08\u5c55\u5edb\u609b\u6230\u6813\ \u6bbf\u6c08\u6fb1'), -111: (33, 126, u'\ +239: (161, 254, u'\ \u714e\u7420\u7530\u7538\u7551\u7672\u7b4c\u7b8b\u7bad\u7bc6\u7e8f\u8a6e\u8f3e\ \u8f49\u923f\u9293\u9322\u942b\u96fb\u985a\u986b\u991e\u5207\u622a\u6298\u6d59\ \u7664\u7aca\u7bc0\u7d76\u5360\u5cbe\u5e97\u6f38\u70b9\u7c98\u9711\u9b8e\u9ede\ @@ -694,7 +694,7 @@ \u6c40\u6dc0\u6de8\u6e1f\u6e5e\u701e\u70a1\u738e\u73fd\u753a\u775b\u7887\u798e\ \u7a0b\u7a7d\u7cbe\u7d8e\u8247\u8a02\u8aea\u8c9e\u912d\u914a\u91d8\u9266\u92cc\ \u9320\u9706\u9756'), -112: (33, 126, u'\ +240: (161, 254, u'\ \u975c\u9802\u9f0e\u5236\u5291\u557c\u5824\u5e1d\u5f1f\u608c\u63d0\u68af\u6fdf\ \u796d\u7b2c\u81cd\u85ba\u88fd\u8af8\u8e44\u918d\u9664\u969b\u973d\u984c\u9f4a\ \u4fce\u5146\u51cb\u52a9\u5632\u5f14\u5f6b\u63aa\u64cd\u65e9\u6641\u66fa\u66f9\ @@ -703,7 +703,7 @@ \u8e81\u9020\u906d\u91e3\u963b\u96d5\u9ce5\u65cf\u7c07\u8db3\u93c3\u5b58\u5c0a\ \u5352\u62d9\u731d\u5027\u5b97\u5f9e\u60b0\u616b\u68d5\u6dd9\u742e\u7a2e\u7d42\ \u7d9c\u7e31\u816b'), -113: (33, 126, u'\ +241: (161, 254, u'\ \u8e2a\u8e35\u937e\u9418\u4f50\u5750\u5de6\u5ea7\u632b\u7f6a\u4e3b\u4f4f\u4f8f\ \u505a\u59dd\u80c4\u546a\u5468\u55fe\u594f\u5b99\u5dde\u5eda\u665d\u6731\u67f1\ \u682a\u6ce8\u6d32\u6e4a\u6f8d\u70b7\u73e0\u7587\u7c4c\u7d02\u7d2c\u7da2\u821f\ @@ -712,7 +712,7 @@ \u7ae3\u8822\u9021\u9075\u96cb\u99ff\u8301\u4e2d\u4ef2\u8846\u91cd\u537d\u6adb\ \u696b\u6c41\u847a\u589e\u618e\u66fe\u62ef\u70dd\u7511\u75c7\u7e52\u84b8\u8b49\ \u8d08\u4e4b\u53ea'), -114: (33, 126, u'\ +242: (161, 254, u'\ \u54ab\u5730\u5740\u5fd7\u6301\u6307\u646f\u652f\u65e8\u667a\u679d\u67b3\u6b62\ \u6c60\u6c9a\u6f2c\u77e5\u7825\u7949\u7957\u7d19\u80a2\u8102\u81f3\u829d\u82b7\ \u8718\u8a8c\uf9fc\u8d04\u8dbe\u9072\u76f4\u7a19\u7a37\u7e54\u8077\u5507\u55d4\ @@ -721,7 +721,7 @@ \u8eeb\u8fb0\u9032\u93ad\u9663\u9673\u9707\u4f84\u53f1\u59ea\u5ac9\u5e19\u684e\ \u74c6\u75be\u79e9\u7a92\u81a3\u86ed\u8cea\u8dcc\u8fed\u659f\u6715\uf9fd\u57f7\ \u6f57\u7ddd\u8f2f'), -115: (33, 126, u'\ +243: (161, 254, u'\ \u93f6\u96c6\u5fb5\u61f2\u6f84\u4e14\u4f98\u501f\u53c9\u55df\u5d6f\u5dee\u6b21\ \u6b64\u78cb\u7b9a\uf9fe\u8e49\u8eca\u906e\u6349\u643e\u7740\u7a84\u932f\u947f\ \u9f6a\u64b0\u6faf\u71e6\u74a8\u74da\u7ac4\u7c12\u7e82\u7cb2\u7e98\u8b9a\u8d0a\ @@ -730,7 +730,7 @@ \u655e\u660c\u6636\u66a2\u69cd\u6ec4\u6f32\u7316\u7621\u7a93\u8139\u8259\u83d6\ \u84bc\u50b5\u57f0\u5bc0\u5be8\u5f69\u63a1\u7826\u7db5\u83dc\u8521\u91c7\u91f5\ \u518a\u67f5\u7b56'), -116: (33, 126, u'\ +244: (161, 254, u'\ \u8cac\u51c4\u59bb\u60bd\u8655\u501c\uf9ff\u5254\u5c3a\u617d\u621a\u62d3\u64f2\ \u65a5\u6ecc\u7620\u810a\u8e60\u965f\u96bb\u4edf\u5343\u5598\u5929\u5ddd\u64c5\ \u6cc9\u6dfa\u7394\u7a7f\u821b\u85a6\u8ce4\u8e10\u9077\u91e7\u95e1\u9621\u97c6\ @@ -739,7 +739,7 @@ \u776b\u8adc\u8cbc\u8f12\u5ef3\u6674\u6df8\u807d\u83c1\u8acb\u9751\u9bd6\ufa00\ \u5243\u66ff\u6d95\u6eef\u7de0\u8ae6\u902e\u905e\u9ad4\u521d\u527f\u54e8\u6194\ \u6284\u62db\u68a2'), -117: (33, 126, u'\ +245: (161, 254, u'\ \u6912\u695a\u6a35\u7092\u7126\u785d\u7901\u790e\u79d2\u7a0d\u8096\u8278\u82d5\ \u8349\u8549\u8c82\u8d85\u9162\u918b\u91ae\u4fc3\u56d1\u71ed\u77d7\u8700\u89f8\ \u5bf8\u5fd6\u6751\u90a8\u53e2\u585a\u5bf5\u60a4\u6181\u6460\u7e3d\u8070\u8525\ @@ -748,7 +748,7 @@ \u9a36\u9c0d\u4e11\u755c\u795d\u7afa\u7b51\u7bc9\u7e2e\u84c4\u8e59\u8e74\u8ef8\ \u9010\u6625\u693f\u7443\u51fa\u672e\u9edc\u5145\u5fe0\u6c96\u87f2\u885d\u8877\ \u60b4\u81b5\u8403'), -118: (33, 126, u'\ +246: (161, 254, u'\ \u8d05\u53d6\u5439\u5634\u5a36\u5c31\u708a\u7fe0\u805a\u8106\u81ed\u8da3\u9189\ \u9a5f\u9df2\u5074\u4ec4\u53a0\u60fb\u6e2c\u5c64\u4f88\u5024\u55e4\u5cd9\u5e5f\ \u6065\u6894\u6cbb\u6dc4\u71be\u75d4\u75f4\u7661\u7a1a\u7a49\u7dc7\u7dfb\u7f6e\ @@ -757,7 +757,7 @@ \u4ed6\u54a4\u553e\u58ae\u59a5\u60f0\u6253\u62d6\u6736\u6955\u8235\u9640\u99b1\ \u99dd\u502c\u5353\u5544\u577c\ufa01\u6258\ufa02\u64e2\u666b\u67dd\u6fc1\u6fef\ \u7422\u7438\u8a17'), -119: (33, 126, u'\ +247: (161, 254, u'\ \u9438\u5451\u5606\u5766\u5f48\u619a\u6b4e\u7058\u70ad\u7dbb\u8a95\u596a\u812b\ \u63a2\u7708\u803d\u8caa\u5854\u642d\u69bb\u5b95\u5e11\u6e6f\ufa03\u8569\u514c\ \u53f0\u592a\u6020\u614b\u6b86\u6c70\u6cf0\u7b1e\u80ce\u82d4\u8dc6\u90b0\u98b1\ @@ -766,7 +766,7 @@ \u900f\u9b2a\u615d\u7279\u95d6\u5761\u5a46\u5df4\u628a\u64ad\u64fa\u6777\u6ce2\ \u6d3e\u722c\u7436\u7834\u7f77\u82ad\u8ddb\u9817\u5224\u5742\u677f\u7248\u74e3\ \u8ca9\u8fa6\u9211'), -120: (33, 126, u'\ +248: (161, 254, u'\ \u962a\u516b\u53ed\u634c\u4f69\u5504\u6096\u6557\u6c9b\u6d7f\u724c\u72fd\u7a17\ \u8987\u8c9d\u5f6d\u6f8e\u70f9\u81a8\u610e\u4fbf\u504f\u6241\u7247\u7bc7\u7de8\ \u7fe9\u904d\u97ad\u9a19\u8cb6\u576a\u5e73\u67b0\u840d\u8a55\u5420\u5b16\u5e63\ @@ -775,7 +775,7 @@ \u82de\u8461\u84b2\u888d\u8912\u900b\u92ea\u98fd\u9b91\u5e45\u66b4\u66dd\u7011\ \u7206\ufa07\u4ff5\u527d\u5f6a\u6153\u6753\u6a19\u6f02\u74e2\u7968\u8868\u8c79\ \u98c7\u98c4\u9a43'), -121: (33, 126, u'\ +249: (161, 254, u'\ \u54c1\u7a1f\u6953\u8af7\u8c4a\u98a8\u99ae\u5f7c\u62ab\u75b2\u76ae\u88ab\u907f\ \u9642\u5339\u5f3c\u5fc5\u6ccc\u73cc\u7562\u758b\u7b46\u82fe\u999d\u4e4f\u903c\ \u4e0b\u4f55\u53a6\u590f\u5ec8\u6630\u6cb3\u7455\u8377\u8766\u8cc0\u9050\u971e\ @@ -784,7 +784,7 @@ \u558a\u6abb\u6db5\u7dd8\u8266\u929c\u9677\u9e79\u5408\u54c8\u76d2\u86e4\u95a4\ \u95d4\u965c\u4ea2\u4f09\u59ee\u5ae6\u5df7\u6052\u6297\u676d\u6841\u6c86\u6e2f\ \u7f38\u809b\u822a'), -122: (33, 126, u'\ +250: (161, 254, u'\ \ufa08\ufa09\u9805\u4ea5\u5055\u54b3\u5793\u595a\u5b69\u5bb3\u61c8\u6977\u6d77\ \u7023\u87f9\u89e3\u8a72\u8ae7\u9082\u99ed\u9ab8\u52be\u6838\u5016\u5e78\u674f\ \u8347\u884c\u4eab\u5411\u56ae\u73e6\u9115\u97ff\u9909\u9957\u9999\u5653\u589f\ @@ -793,7 +793,7 @@ \u7d62\u7e23\u8237\u8852\ufa0a\u8ce2\u9249\u986f\u5b51\u7a74\u8840\u9801\u5acc\ \u4fe0\u5354\u593e\u5cfd\u633e\u6d79\u72f9\u8105\u8107\u83a2\u92cf\u9830\u4ea8\ \u5144\u5211\u578b'), -123: (33, 126, u'\ +251: (161, 254, u'\ \u5f62\u6cc2\u6ece\u7005\u7050\u70af\u7192\u73e9\u7469\u834a\u87a2\u8861\u9008\ \u90a2\u93a3\u99a8\u516e\u5f57\u60e0\u6167\u66b3\u8559\u8e4a\u91af\u978b\u4e4e\ \u4e92\u547c\u58d5\u58fa\u597d\u5cb5\u5f27\u6236\u6248\u660a\u6667\u6beb\u6d69\ @@ -802,7 +802,7 @@ \u9865\u60d1\u6216\u9177\u5a5a\u660f\u6df7\u6e3e\u743f\u9b42\u5ffd\u60da\u7b0f\ \u54c4\u5f18\u6c5e\u6cd3\u6d2a\u70d8\u7d05\u8679\u8a0c\u9d3b\u5316\u548c\u5b05\ \u6a3a\u706b\u7575'), -124: (33, 126, u'\ +252: (161, 254, u'\ \u798d\u79be\u82b1\u83ef\u8a71\u8b41\u8ca8\u9774\ufa0b\u64f4\u652b\u78ba\u78bb\ \u7a6b\u4e38\u559a\u5950\u5ba6\u5e7b\u60a3\u63db\u6b61\u6665\u6853\u6e19\u7165\ \u74b0\u7d08\u9084\u9a69\u9c25\u6d3b\u6ed1\u733e\u8c41\u95ca\u51f0\u5e4c\u5fa8\ @@ -811,7 +811,7 @@ \u6094\u61f7\u6666\u6703\u6a9c\u6dee\u6fae\u7070\u736a\u7e6a\u81be\u8334\u86d4\ \u8aa8\u8cc4\u5283\u7372\u5b96\u6a6b\u9404\u54ee\u5686\u5b5d\u6548\u6585\u66c9\ \u689f\u6d8d\u6dc6'), -125: (33, 126, u'\ +253: (161, 254, u'\ \u723b\u80b4\u9175\u9a4d\u4faf\u5019\u539a\u540e\u543c\u5589\u55c5\u5e3f\u5f8c\ \u673d\u7166\u73dd\u9005\u52db\u52f3\u5864\u58ce\u7104\u718f\u71fb\u85b0\u8a13\ \u6688\u85a8\u55a7\u6684\u714a\u8431\u5349\u5599\u6bc1\u5f59\u5fbd\u63ee\u6689\ |
From: Hye-Shik C. <pe...@us...> - 2003-07-23 20:31:44
|
perky 03/07/23 13:31:43 Modified: . setup.py Log: Fix for new mappings Revision Changes Path 1.2 +2 -2 KoreanCodecs-Pure/setup.py Index: setup.py =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/setup.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- setup.py 23 Jul 2003 19:09:47 -0000 1.1 +++ setup.py 23 Jul 2003 20:31:43 -0000 1.2 @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# setup.py: KoreanCodecs Setup +# setup.py: KoreanCodecs-Pure Setup # # Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. # All rights reserved. @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: setup.py,v 1.1 2003/07/23 19:09:47 perky Exp $ +# $Id: setup.py,v 1.2 2003/07/23 20:31:43 perky Exp $ # import sys |
From: Hye-Shik C. <pe...@us...> - 2003-07-23 20:31:44
|
perky 03/07/23 13:31:43 Modified: korean cp949.py euc_kr.py johab.py Log: Fix for new mappings Revision Changes Path 1.2 +4 -4 KoreanCodecs-Pure/korean/cp949.py Index: cp949.py =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/korean/cp949.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- cp949.py 23 Jul 2003 19:09:50 -0000 1.1 +++ cp949.py 23 Jul 2003 20:31:43 -0000 1.2 @@ -24,15 +24,15 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: cp949.py,v 1.1 2003/07/23 19:09:50 perky Exp $ +# $Id: cp949.py,v 1.2 2003/07/23 20:31:43 perky Exp $ # from korean import euc_kr -from korean.mappings import uhc +from korean.mappings import cp949ext class Codec(euc_kr.Codec): - uhc_encmap = uhc.encoding_map - uhc_decmap = uhc.decoding_map + uhc_encmap = cp949ext.cp949extencmap + uhc_decmap = cp949ext.cp949extdecmap class StreamWriter(Codec, euc_kr.StreamWriter): pass 1.2 +10 -44 KoreanCodecs-Pure/korean/euc_kr.py Index: euc_kr.py =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/korean/euc_kr.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- euc_kr.py 23 Jul 2003 19:09:50 -0000 1.1 +++ euc_kr.py 23 Jul 2003 20:31:43 -0000 1.2 @@ -24,16 +24,11 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: euc_kr.py,v 1.1 2003/07/23 19:09:50 perky Exp $ +# $Id: euc_kr.py,v 1.2 2003/07/23 20:31:43 perky Exp $ # import codecs - -from korean.mappings import ksc5601_hangul -encmap_hangul = ksc5601_hangul.encoding_map -decmap_hangul = ksc5601_hangul.decoding_map -encmap_ideo, decmap_ideo = {}, {} -encmap_misc, decmap_misc = {}, {} +from korean.mappings.ksx1001 import * class Codec(codecs.Codec): @@ -51,29 +46,14 @@ for c in data: if c < u'\u0080': buffer.append(c.encode("ascii", errors)) - elif encmap_hangul.has_key(c): - buffer.append(encmap_hangul[c]) + elif ksx1001encmap.has_key(c): + buffer.append(ksx1001encmap[c]) elif self.uhc_encmap.has_key(c): buffer.append(self.uhc_encmap[c]) - else: - if not encmap_misc: - from korean.mappings import ksc5601_misc - encmap_misc = ksc5601_misc.encoding_map - if encmap_misc.has_key(c): - buffer.append(encmap_misc[c]) - continue - - if not encmap_ideo: - from korean.mappings import ksc5601_ideograph - encmap_ideo = ksc5601_ideograph.encoding_map - if encmap_ideo.has_key(c): - buffer.append(encmap_ideo[c]) - continue - - if errors == 'replace': - buffer.append('\xa1\xa1') - elif errors == 'strict': - raise UnicodeError, "cannot map \\u%04x to EUC-KR" % ord(c) + elif errors == 'replace': + buffer.append('?') + elif errors == 'strict': + raise UnicodeError, "cannot map \\u%04x to EUC-KR" % ord(c) return (''.join(buffer), len(data)) @@ -96,25 +76,11 @@ c = data[p:p+2] p += 2 if len(c) == 2: - if decmap_hangul.has_key(c): - buffer.append(decmap_hangul[c]) + if ksx1001decmap.has_key(c): + buffer.append(ksx1001decmap[c]) continue elif self.uhc_decmap.has_key(c): buffer.append(self.uhc_decmap[c]) - continue - - if not decmap_misc: - from korean.mappings import ksc5601_misc - decmap_misc = ksc5601_misc.decoding_map - if decmap_misc.has_key(c): - buffer.append(decmap_misc[c]) - continue - - if not decmap_ideo: - from korean.mappings import ksc5601_ideograph - decmap_ideo = ksc5601_ideograph.decoding_map - if decmap_ideo.has_key(c): - buffer.append(decmap_ideo[c]) continue if errors == 'replace': 1.2 +43 -20 KoreanCodecs-Pure/korean/johab.py Index: johab.py =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/korean/johab.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- johab.py 23 Jul 2003 19:09:52 -0000 1.1 +++ johab.py 23 Jul 2003 20:31:43 -0000 1.2 @@ -24,11 +24,11 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: johab.py,v 1.1 2003/07/23 19:09:52 perky Exp $ +# $Id: johab.py,v 1.2 2003/07/23 20:31:43 perky Exp $ # import codecs - +from korean.mappings.ksx1001 import * from korean.hangul import Jaeum, Moeum, ishangul, split, join encmap, decmap = {}, {} @@ -89,17 +89,26 @@ ) code = 0x8000 | (cho<<10) | (jung<<5) | jong buffer.append(chr(code>>8) + chr(code&0xFF)) - else: - if not encmap: - from korean.mappings import johab_ideograph - encmap = johab_ideograph.encoding_map - - if encmap.has_key(c): - buffer.append(encmap[c]) - elif errors == 'replace': - buffer.append('\x84\x41') - elif errors == 'strict': - raise UnicodeError, "cannot map \\u%04x to JOHAB" % ord(c) + elif ksx1001encmap.has_key(c): + c1, c2 = map(ord, ksx1001encmap[c]) + if c1 < 0xca: + c1 = c1 + 0x111 + else: + c1 = c1 + 0xf6 + if c1 & 1: + c2 = c2 - 0x43 + else: + c2 = c2 - 0xa1 + c1 = c1 >> 1 + if c2 < 0x4e: + c2 += 0x31 + else: + c2 += 0x43 + buffer.append(chr(c1) + chr(c2)) + elif errors == 'replace': + buffer.append('\x84\x41') + elif errors == 'strict': + raise UnicodeError, "cannot map \\u%04x to JOHAB" % ord(c) return (''.join(buffer), len(data)) @@ -135,14 +144,26 @@ johab2uni_jongsung[jong] ]) ) continue - - if not decmap: - from korean.mappings import johab_ideograph - decmap = johab_ideograph.decoding_map - if decmap.has_key(c): - buffer.append(decmap[c]) - continue + c1, c2 = ord(c[0]), ord(c[1]) + if ((0x31 <= c2 <= 0x7e or 0x91 <= c2 <= 0xfe) + and not (c1 == 0xda and (0xa1 <= c2 <= 0xd3))): + if c1 < 0xe0: + t1 = 2 * (c1 - 0xd9) + else: + t1 = 2 * c1 - 0x197 + if c2 < 0x91: + t2 = c2 - 0x31 + else: + t2 = c2 - 0x43 + if t2 < 0x5e: + ch = chr(t1 + 0xa1) + chr(t2 + 0xa1) + else: + ch = chr(t1 + 0xa2) + chr(t2 + 0x43) + + if ksx1001decmap.has_key(ch): + buffer.append(ksx1001decmap[ch]) + continue if errors == 'replace': buffer.append(u'\uFFFD') # REPLACEMENT CHARACTER @@ -208,3 +229,5 @@ def getregentry(): return (Codec().encode,Codec().decode,StreamReader,StreamWriter) + +# ex: ts=8 sts=4 et sw=4 |
From: Hye-Shik C. <pe...@us...> - 2003-07-23 19:23:35
|
perky 03/07/23 12:23:34 Modified: tools genmap_korean.py Log: Fix code range. Revision Changes Path 1.3 +3 -3 KoreanCodecs-Pure/tools/genmap_korean.py Index: genmap_korean.py =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/tools/genmap_korean.py,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- genmap_korean.py 23 Jul 2003 19:21:51 -0000 1.2 +++ genmap_korean.py 23 Jul 2003 19:23:34 -0000 1.3 @@ -26,13 +26,13 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: genmap_korean.py,v 1.2 2003/07/23 19:21:51 perky Exp $ +# $Id: genmap_korean.py,v 1.3 2003/07/23 19:23:34 perky Exp $ # from genmap_support import * -KSX1001_C1 = (0x21, 0x7e) -KSX1001_C2 = (0x21, 0x7e) +KSX1001_C1 = (0xa1, 0xfe) +KSX1001_C2 = (0xa1, 0xfe) UHCL1_C1 = (0x81, 0xa0) UHCL1_C2 = (0x41, 0xfe) UHCL2_C1 = (0xa1, 0xfe) |
From: Hye-Shik C. <pe...@us...> - 2003-07-23 19:21:53
|
perky 03/07/23 12:21:52 Modified: tools genmap_korean.py Log: Set MSB even for KS X 1001 maps to make mappings handy. Revision Changes Path 1.2 +3 -3 KoreanCodecs-Pure/tools/genmap_korean.py Index: genmap_korean.py =================================================================== RCS file: /cvsroot/koco/KoreanCodecs-Pure/tools/genmap_korean.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- genmap_korean.py 23 Jul 2003 19:10:40 -0000 1.1 +++ genmap_korean.py 23 Jul 2003 19:21:51 -0000 1.2 @@ -26,7 +26,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: genmap_korean.py,v 1.1 2003/07/23 19:10:40 perky Exp $ +# $Id: genmap_korean.py,v 1.2 2003/07/23 19:21:51 perky Exp $ # from genmap_support import * @@ -51,8 +51,8 @@ for c1, c2map in decmap.iteritems(): for c2, code in c2map.iteritems(): if c1 >= 0xa1 and c2 >= 0xa1: - ksx1001decmap.setdefault(c1&0x7f, {}) - ksx1001decmap[c1&0x7f][c2&0x7f] = c2map[c2] + ksx1001decmap.setdefault(c1, {}) + ksx1001decmap[c1][c2] = c2map[c2] else: # uhc uhcdecmap.setdefault(c1, {}) uhcdecmap[c1][c2] = c2map[c2] |
From: Hye-Shik C. <pe...@us...> - 2003-07-23 19:10:44
|
perky 03/07/23 12:10:40 Log: initial import of KoreanCodecs-Pure Status: Vendor Tag: KOREANCODECS Release Tags: KOREANCODECS_2_1_0_ALPHA1 N KoreanCodecs-Pure/COPYRIGHT N KoreanCodecs-Pure/MANIFEST.in N KoreanCodecs-Pure/README N KoreanCodecs-Pure/README.en N KoreanCodecs-Pure/README.ko N KoreanCodecs-Pure/setup.py N KoreanCodecs-Pure/korean/hangul.py N KoreanCodecs-Pure/korean/__init__.py N KoreanCodecs-Pure/korean/aliases.py N KoreanCodecs-Pure/korean/cp949.py N KoreanCodecs-Pure/korean/euc_kr.py N KoreanCodecs-Pure/korean/iso_2022_kr.py N KoreanCodecs-Pure/korean/johab.py N KoreanCodecs-Pure/korean/mappings/cp949ext.py N KoreanCodecs-Pure/korean/mappings/__init__.py N KoreanCodecs-Pure/korean/mappings/ksx1001.py N KoreanCodecs-Pure/test/CodecTestBase.py N KoreanCodecs-Pure/test/test_all.py N KoreanCodecs-Pure/test/test_cp949.py N KoreanCodecs-Pure/test/test_euc_kr.py N KoreanCodecs-Pure/test/test_hangul.py N KoreanCodecs-Pure/test/test_iso_2022_kr.py N KoreanCodecs-Pure/test/test_johab.py N KoreanCodecs-Pure/test/texts/cp949.utf-8 N KoreanCodecs-Pure/test/texts/cp949 N KoreanCodecs-Pure/test/texts/johab.utf-8 N KoreanCodecs-Pure/test/texts/euc-kr N KoreanCodecs-Pure/test/texts/johab N KoreanCodecs-Pure/test/texts/euc-kr.utf-8 N KoreanCodecs-Pure/test/texts/iso-2022-kr.roundrobin N KoreanCodecs-Pure/test/texts/iso-2022-kr.stream N KoreanCodecs-Pure/test/texts/iso-2022-kr.utf-8 N KoreanCodecs-Pure/tools/genmap_korean.py N KoreanCodecs-Pure/tools/genmap_support.py No conflicts created by this import |
From: Hye-Shik C. <pe...@us...> - 2003-07-19 10:49:03
|
perky 03/07/19 03:49:00 Modified: tests test_multibytecodec_support.py Log: UTF-8 codec isn't removed. Revision Changes Path 1.10 +1 -2 cjkcodecs/tests/test_multibytecodec_support.py Index: test_multibytecodec_support.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_multibytecodec_support.py,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- test_multibytecodec_support.py 19 Jul 2003 10:46:09 -0000 1.9 +++ test_multibytecodec_support.py 19 Jul 2003 10:49:00 -0000 1.10 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_multibytecodec_support.py,v 1.9 2003/07/19 10:46:09 perky Exp $ +# $Id: test_multibytecodec_support.py,v 1.10 2003/07/19 10:49:00 perky Exp $ # import sys, codecs, os.path @@ -145,7 +145,6 @@ ostream = self.writer(StringIO()) func = getattr(istream, name) while 1: - print name, sizehint if sizehint is not None: data = func(sizehint) else: |
From: Hye-Shik C. <pe...@us...> - 2003-07-19 10:49:01
|
perky 03/07/19 03:49:00 Modified: . CHANGES Log: UTF-8 codec isn't removed. Revision Changes Path 1.19 +1 -1 cjkcodecs/CHANGES Index: CHANGES =================================================================== RCS file: /cvsroot/koco/cjkcodecs/CHANGES,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- CHANGES 19 Jul 2003 10:46:08 -0000 1.18 +++ CHANGES 19 Jul 2003 10:49:00 -0000 1.19 @@ -1,6 +1,6 @@ Changes with CJKCodecs 1.0 - *) UTF-16, UTF-8 codec is removed from distribution. + *) UTF-16 codecs are removed from distribution. *) Fixed UTF-7 codec's bug that fails to decode surrogate pair on ucs4-python |
From: Hye-Shik C. <pe...@us...> - 2003-07-19 10:46:22
|
perky 03/07/19 03:46:08 Modified: . CHANGES MANIFEST.in ROADMAP setup.py Added: . NOTES.utf Log: Remove UTF-16 codec and explain why we still keep utf-7 and utf-8 codecs. Revision Changes Path 1.18 +8 -0 cjkcodecs/CHANGES Index: CHANGES =================================================================== RCS file: /cvsroot/koco/cjkcodecs/CHANGES,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- CHANGES 12 Jul 2003 15:09:47 -0000 1.17 +++ CHANGES 19 Jul 2003 10:46:08 -0000 1.18 @@ -1,3 +1,11 @@ +Changes with CJKCodecs 1.0 + + *) UTF-16, UTF-8 codec is removed from distribution. + + *) Fixed UTF-7 codec's bug that fails to decode surrogate pair on + ucs4-python + + Changes with CJKCodecs 1.0b1 *) SHIFT-JISX0213, EUC-JISX0213, ISO-2022-JP-2 and ISO-2022-JP-3 1.4 +2 -2 cjkcodecs/MANIFEST.in Index: MANIFEST.in =================================================================== RCS file: /cvsroot/koco/cjkcodecs/MANIFEST.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- MANIFEST.in 10 Jun 2003 11:25:52 -0000 1.3 +++ MANIFEST.in 19 Jul 2003 10:46:08 -0000 1.4 @@ -1,7 +1,7 @@ -# $Id: MANIFEST.in,v 1.3 2003/06/10 11:25:52 perky Exp $ +# $Id: MANIFEST.in,v 1.4 2003/07/19 10:46:08 perky Exp $ include README ROADMAP AUTHORS COPYRIGHT THANKS -include MANIFEST.in +include MANIFEST.in NOTES.* recursive-include src *.h *.c recursive-include tests *.py *.txt *.utf8 *.sh 1.6 +1 -2 cjkcodecs/ROADMAP Index: ROADMAP =================================================================== RCS file: /cvsroot/koco/cjkcodecs/ROADMAP,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ROADMAP 12 Jul 2003 03:55:42 -0000 1.5 +++ ROADMAP 19 Jul 2003 10:46:08 -0000 1.6 @@ -27,8 +27,7 @@ euc-tw Unicode.org utf-8 utf-7 - utf-16 -# $Id: ROADMAP,v 1.5 2003/07/12 03:55:42 perky Exp $ +# $Id: ROADMAP,v 1.6 2003/07/19 10:46:08 perky Exp $ # ex: ts=8 sts=4 et 1.33 +2 -2 cjkcodecs/setup.py Index: setup.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/setup.py,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- setup.py 12 Jul 2003 19:12:13 -0000 1.32 +++ setup.py 19 Jul 2003 10:46:08 -0000 1.33 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: setup.py,v 1.32 2003/07/12 19:12:13 perky Exp $ +# $Id: setup.py,v 1.33 2003/07/19 10:46:08 perky Exp $ # import sys @@ -43,7 +43,7 @@ 'ko_KR': ['euc_kr', 'cp949', 'johab', 'iso_2022_kr'], 'zh_CN': ['gb2312', 'gbk', 'gb18030', 'hz'], 'zh_TW': ['big5', 'cp950'], -'': ['utf_7', 'utf_8', 'utf_16', 'utf_16be', 'utf_16le'], +'': ['utf_7', 'utf_8'], } locales = encodings.keys() 1.1 cjkcodecs/NOTES.utf Index: NOTES.utf =================================================================== CJKCodecs is distributed with utf-7 and utf-8 codec in spite of Python has their own already. Here're my cowardly rationales for that. - Python UTF-7 codec can't encode and/or decode surrogate pair. - Python UTF-7 codec can't decode long shifted sequence. - Python UTF-7 codec isn't stateful, so its StreamReader and StreamWriter can't work correctly. - Python UTF-8 codec is slightly broken for StreamReader's readline and readlines method calls. For example, >>> import StringIO, codecs >>> c = codecs.getreader('utf-8')(StringIO.StringIO("Python\xed\x8c\x8c\xec\x9d\xb4\xec\x8d\xac")) >>> c.readline(1), c.readline(1), c.readline(1) u'P', u'y', u't' >>> c.readline(1), c.readline(1), c.readline(1) (u'h', u'o', u'n') >>> c.readline(1), c.readline(1), c.readline(1) Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/local/lib/python2.2/codecs.py", line 252, in readline return self.decode(line, self.errors)[0] UnicodeError: UTF-8 decoding error: unexpected end of data |
From: Hye-Shik C. <pe...@us...> - 2003-07-19 10:46:22
|
perky 03/07/19 03:46:08 Modified: cjkcodecs Makefile aliases.py Removed: cjkcodecs utf_16.py utf_16be.py utf_16le.py Log: Remove UTF-16 codec and explain why we still keep utf-7 and utf-8 codecs. Revision Changes Path 1.13 +2 -2 cjkcodecs/cjkcodecs/Makefile Index: Makefile =================================================================== RCS file: /cvsroot/koco/cjkcodecs/cjkcodecs/Makefile,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- Makefile 12 Jul 2003 05:08:07 -0000 1.12 +++ Makefile 19 Jul 2003 10:46:08 -0000 1.13 @@ -25,7 +25,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: Makefile,v 1.12 2003/07/12 05:08:07 perky Exp $ +# $Id: Makefile,v 1.13 2003/07/19 10:46:08 perky Exp $ # GENERIC_ENCODINGS= gb2312 gbk gb18030 hz \ @@ -34,7 +34,7 @@ iso_2022_jp iso_2022_jp_1 iso_2022_jp_2 \ iso_2022_jp_3 euc_jisx0213 shift_jisx0213 \ cp949 euc_kr johab iso_2022_kr \ - utf_7 utf_8 utf_16 utf_16be utf_16le + utf_7 utf_8 all: for cset in ${GENERIC_ENCODINGS}; do \ 1.14 +1 -13 cjkcodecs/cjkcodecs/aliases.py Index: aliases.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/cjkcodecs/aliases.py,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- aliases.py 12 Jul 2003 05:08:07 -0000 1.13 +++ aliases.py 19 Jul 2003 10:46:08 -0000 1.14 @@ -26,7 +26,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: aliases.py,v 1.13 2003/07/12 05:08:07 perky Exp $ +# $Id: aliases.py,v 1.14 2003/07/19 10:46:08 perky Exp $ # from encodings.aliases import aliases @@ -143,18 +143,6 @@ 'shift_jisx0213' : 'cjkcodecs.shift_jisx0213', 'sjisx0213' : 'cjkcodecs.shift_jisx0213', 's_jisx0213' : 'cjkcodecs.shift_jisx0213', - - # utf_16 codec - #'utf16' : 'cjkcodecs.utf_16', - #'utf_16' : 'cjkcodecs.utf_16', - - # utf_16be codec - #'utf16be' : 'cjkcodecs.utf_16be', - #'utf_16be' : 'cjkcodecs.utf_16be', - - # utf_16le codec - #'utf16le' : 'cjkcodecs.utf_16le', - #'utf_16le' : 'cjkcodecs.utf_16le', # utf_7 codec #'utf7' : 'cjkcodecs.utf_7', |
From: Hye-Shik C. <pe...@us...> - 2003-07-19 10:46:16
|
perky 03/07/19 03:46:09 Modified: tests test_multibytecodec_support.py Log: Remove UTF-16 codec and explain why we still keep utf-7 and utf-8 codecs. Revision Changes Path 1.9 +12 -8 cjkcodecs/tests/test_multibytecodec_support.py Index: test_multibytecodec_support.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_multibytecodec_support.py,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- test_multibytecodec_support.py 12 Jul 2003 15:06:09 -0000 1.8 +++ test_multibytecodec_support.py 19 Jul 2003 10:46:09 -0000 1.9 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_multibytecodec_support.py,v 1.8 2003/07/12 15:06:09 perky Exp $ +# $Id: test_multibytecodec_support.py,v 1.9 2003/07/19 10:46:09 perky Exp $ # import sys, codecs, os.path @@ -116,7 +116,7 @@ "test.xmlcharnamereplace")[0], sout) def test_streamreader(self): - UTF8Writer = codecs.lookup('utf-8')[3] + UTF8Writer = codecs.getwriter('utf-8') for name in ["read", "readline", "readlines"]: for sizehint in [None, -1] + range(1, 33) + \ [64, 128, 256, 512, 1024]: @@ -135,18 +135,22 @@ self.assertEqual(ostream.getvalue(), self.tstring[1]) def test_streamwriter(self): - # We can't test with the real utf-8 StreamReader here. - # The standard SR.readline{,s} are mostly broken for multibyte seqs. - #UTF8Reader = codecs.lookup('utf-8')[2] - UTF8Reader = codecs.lookup('cjkcodecs.utf-8')[2] + # don't use standard utf-8 streamreader here. + # it's broken for sr.readline(smallnumber) + UTF8Reader = codecs.getreader('cjkcodecs.utf-8') for name in ["read", "readline", "readlines"]: - for sizehint in [None, -1] + range(1, 33) + \ + for sizehint in [None] + range(1, 33) + \ [64, 128, 256, 512, 1024]: istream = UTF8Reader(StringIO(self.tstring[1])) ostream = self.writer(StringIO()) func = getattr(istream, name) while 1: - data = func(sizehint) + print name, sizehint + if sizehint is not None: + data = func(sizehint) + else: + data = func() + if not data: break if name == "readlines": |
From: Hye-Shik C. <pe...@us...> - 2003-07-19 10:46:16
|
perky 03/07/19 03:46:08 Removed: src _utf_16.c _utf_16be.c _utf_16le.c Log: Remove UTF-16 codec and explain why we still keep utf-7 and utf-8 codecs. |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 19:12:14
|
perky 03/07/12 12:12:13 Modified: . setup.py Log: Add new knob '--disable-utf' to avoid installing utf codecs. Revision Changes Path 1.32 +4 -1 cjkcodecs/setup.py Index: setup.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/setup.py,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- setup.py 12 Jul 2003 15:09:47 -0000 1.31 +++ setup.py 12 Jul 2003 19:12:13 -0000 1.32 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: setup.py,v 1.31 2003/07/12 15:09:47 perky Exp $ +# $Id: setup.py,v 1.32 2003/07/12 19:12:13 perky Exp $ # import sys @@ -57,6 +57,8 @@ locales.remove('zh_CN') elif args[0] == '--disable-traditional-chinese': locales.remove('zh_TW') + elif args[0] == '--disable-utf': + locales.remove('') elif args[0] == '--help': print """\ Language options: @@ -64,6 +66,7 @@ --disable-korean don't install Korean codecs --disable-simplified-chinese don't install Simplified Chinese codecs --disable-traditional-chinese don't install Traditional Chinese codecs + --disable-utf don't install UTF codecs """ continue else: |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 18:28:43
|
perky 03/07/12 11:28:42 Modified: src _utf_7.c Log: Detect low surrogate correctly. Revision Changes Path 1.3 +2 -2 cjkcodecs/src/_utf_7.c Index: _utf_7.c =================================================================== RCS file: /cvsroot/koco/cjkcodecs/src/_utf_7.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- _utf_7.c 12 Jul 2003 05:22:23 -0000 1.2 +++ _utf_7.c 12 Jul 2003 18:28:42 -0000 1.3 @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $Id: _utf_7.c,v 1.2 2003/07/12 05:22:23 perky Exp $ + * $Id: _utf_7.c,v 1.3 2003/07/12 18:28:42 perky Exp $ */ #include "codeccommon.h" @@ -266,7 +266,7 @@ } #if Py_UNICODE_SIZE == 4 case 4: - if (DSTATE_GETUPENDING2(state) >> 10 == 0xdc00 >> 10) + if (DSTATE_GETUPENDING2(state) >> 10 != 0xdc00 >> 10) return 1; OUT1(0x10000 + (((ucs4_t)DSTATE_GETUPENDING1(state) - 0xd800) << 10) + (DSTATE_GETUPENDING2(state) - 0xdc00)) |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 15:28:53
|
perky 03/07/12 08:28:50 Modified: tests test_encoding_euc_jisx0213.py Log: EUC-JISX0213 can encode « and » Revision Changes Path 1.2 +5 -1 cjkcodecs/tests/test_encoding_euc_jisx0213.py Index: test_encoding_euc_jisx0213.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_encoding_euc_jisx0213.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- test_encoding_euc_jisx0213.py 12 Jul 2003 12:42:48 -0000 1.1 +++ test_encoding_euc_jisx0213.py 12 Jul 2003 15:28:50 -0000 1.2 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_encoding_euc_jisx0213.py,v 1.1 2003/07/12 12:42:48 perky Exp $ +# $Id: test_encoding_euc_jisx0213.py,v 1.2 2003/07/12 15:28:50 perky Exp $ # from test import test_support @@ -48,6 +48,10 @@ ("abc\x8f\x83\x83", "replace", u"abc\ufffd"), ("\xc1\x64", "strict", None), ("\xa1\xc0", "strict", u"\uff3c"), + ) + xmlcharnametest = ( + u"\xab\u211c\xbb = \u2329\u1234\u232a", + "\xa9\xa8ℜ\xa9\xb2 = ⟨ሴ⟩" ) def test_main(): |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 15:09:48
|
perky 03/07/12 08:09:47 Modified: . CHANGES README setup.py Log: Set this version as 1.0b1 Revision Changes Path 1.17 +1 -1 cjkcodecs/CHANGES Index: CHANGES =================================================================== RCS file: /cvsroot/koco/cjkcodecs/CHANGES,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- CHANGES 12 Jul 2003 05:22:23 -0000 1.16 +++ CHANGES 12 Jul 2003 15:09:47 -0000 1.17 @@ -1,4 +1,4 @@ -Changes with CJKCodecs 1.0 +Changes with CJKCodecs 1.0b1 *) SHIFT-JISX0213, EUC-JISX0213, ISO-2022-JP-2 and ISO-2022-JP-3 codec is added. 1.2 +3 -3 cjkcodecs/README Index: README =================================================================== RCS file: /cvsroot/koco/cjkcodecs/README,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- README 6 Jun 2003 06:42:44 -0000 1.1 +++ README 12 Jul 2003 15:09:47 -0000 1.2 @@ -1,8 +1,8 @@ -CJK Codecs 0.9 -============== +CJK Codecs 1.0b1 +================ Copyright(C) 2002-2003 Hye-Shik Chang. -$Id: README,v 1.1 2003/06/06 06:42:44 perky Exp $ +$Id: README,v 1.2 2003/07/12 15:09:47 perky Exp $ Introduction 1.31 +2 -2 cjkcodecs/setup.py Index: setup.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/setup.py,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- setup.py 12 Jul 2003 05:22:23 -0000 1.30 +++ setup.py 12 Jul 2003 15:09:47 -0000 1.31 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: setup.py,v 1.30 2003/07/12 05:22:23 perky Exp $ +# $Id: setup.py,v 1.31 2003/07/12 15:09:47 perky Exp $ # import sys @@ -96,7 +96,7 @@ org_install_lib or self.install_purelib setup (name = "cjkcodecs", - version = "1.0", + version = "1.0b1", description = "Python Unicode Codecs Collection for CJK Encodings", author = "Hye-Shik Chang", author_email = "pe...@Fr...", |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 15:06:11
|
perky 03/07/12 08:06:10 Modified: tests test_encoding_shift_jisx0213.py test_multibytecodec_support.py Log: SHIFT-JISX0213 can encode « and » Revision Changes Path 1.2 +5 -1 cjkcodecs/tests/test_encoding_shift_jisx0213.py Index: test_encoding_shift_jisx0213.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_encoding_shift_jisx0213.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- test_encoding_shift_jisx0213.py 12 Jul 2003 12:42:48 -0000 1.1 +++ test_encoding_shift_jisx0213.py 12 Jul 2003 15:06:09 -0000 1.2 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_encoding_shift_jisx0213.py,v 1.1 2003/07/12 12:42:48 perky Exp $ +# $Id: test_encoding_shift_jisx0213.py,v 1.2 2003/07/12 15:06:09 perky Exp $ # from test import test_support @@ -47,6 +47,10 @@ # sjis vs cp932 ("\\\x7e", "replace", u"\xa5\u203e"), ("\x81\x5f\x81\x61\x81\x7c", "replace", u"\x5c\u2016\u2212"), + ) + xmlcharnametest = ( + u"\xab\u211c\xbb = \u2329\u1234\u232a", + "\x85Gℜ\x85Q = ⟨ሴ⟩" ) def test_main(): 1.8 +7 -3 cjkcodecs/tests/test_multibytecodec_support.py Index: test_multibytecodec_support.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_multibytecodec_support.py,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- test_multibytecodec_support.py 12 Jul 2003 13:52:01 -0000 1.7 +++ test_multibytecodec_support.py 12 Jul 2003 15:06:09 -0000 1.8 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_multibytecodec_support.py,v 1.7 2003/07/12 13:52:01 perky Exp $ +# $Id: test_multibytecodec_support.py,v 1.8 2003/07/12 15:06:09 perky Exp $ # import sys, codecs, os.path @@ -42,6 +42,7 @@ errortests = None # must set. error test tuple roundtriptest = 1 # set if roundtrip is possible with unicode has_iso10646 = 0 # set if this encoding contains whole iso10646 map + xmlcharnametest = None # string to test xmlcharrefreplace def setUp(self): if self.codec is None: @@ -106,8 +107,11 @@ codecs.register_error( "test.xmlcharnamereplace", xmlcharnamereplace) - sin = u"\xab\u211c\xbb = \u2329\u1234\u232a" - sout = "«ℜ» = ⟨ሴ⟩" + if self.xmlcharnametest: + sin, sout = self.xmlcharnametest + else: + sin = u"\xab\u211c\xbb = \u2329\u1234\u232a" + sout = "«ℜ» = ⟨ሴ⟩" self.assertEqual(self.encode(sin, "test.xmlcharnamereplace")[0], sout) |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 14:03:29
|
perky 03/07/12 07:03:26 Modified: src _euc_jisx0213.c Log: Regenerate jis x 0213 maps with corrected mapping file. Revision Changes Path 1.7 +7 -3 cjkcodecs/src/_euc_jisx0213.c Index: _euc_jisx0213.c =================================================================== RCS file: /cvsroot/koco/cjkcodecs/src/_euc_jisx0213.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- _euc_jisx0213.c 9 Jul 2003 21:35:19 -0000 1.6 +++ _euc_jisx0213.c 12 Jul 2003 14:03:26 -0000 1.7 @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $Id: _euc_jisx0213.c,v 1.6 2003/07/09 21:35:19 perky Exp $ + * $Id: _euc_jisx0213.c,v 1.7 2003/07/12 14:03:26 perky Exp $ */ #define USING_BINARY_PAIR_SEARCH @@ -48,7 +48,7 @@ ENCODER(euc_jisx0213) { while (inleft > 0) { - ucs4_t c = **inbuf; + ucs4_t c = IN1; DBCHAR code; int insize; @@ -94,6 +94,9 @@ } else if (c == 0xff3c) /* F/W REVERSE SOLIDUS (see NOTES.euc-jisx0213) */ code = 0x2140; + else if (c == 0xff5e) + /* F/W TILDE (see NOTES.euc-jisx0213) */ + code = 0x2232; else return 1; } else if (c >> 16 == EMPBASE >> 16) { @@ -165,7 +168,8 @@ c2 = IN2 ^ 0x80; /* JIS X 0213 Plane 1 */ - if (c == 0xa1 && c2 == 0xc0) **outbuf = 0xff3c; + if (c == 0x21 && c2 == 0x40) **outbuf = 0xff3c; + else if (c == 0x22 && c2 == 0x32) **outbuf = 0xff5e; else TRYMAP_DEC(jisx0208, **outbuf, c, c2); else TRYMAP_DEC(jisx0213_1_bmp, **outbuf, c, c2); else TRYMAP_DEC(jisx0213_1_emp, code, c, c2) { |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 14:03:28
|
perky 03/07/12 07:03:26 Modified: src/maps map_jisx0213.h map_jisx0213_pairs.h Log: Regenerate jis x 0213 maps with corrected mapping file. Revision Changes Path 1.2 +2186 -2196cjkcodecs/src/maps/map_jisx0213.h Index: map_jisx0213.h =================================================================== RCS file: /cvsroot/koco/cjkcodecs/src/maps/map_jisx0213.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- map_jisx0213.h 7 Jul 2003 04:33:51 -0000 1.1 +++ map_jisx0213.h 12 Jul 2003 14:03:26 -0000 1.2 @@ -1,9 +1,9 @@ /* - * $Id: map_jisx0213.h,v 1.1 2003/07/07 04:33:51 perky Exp $ + * $Id: map_jisx0213.h,v 1.2 2003/07/12 14:03:26 perky Exp $ */ static const ucs2_t __jisx0213_1_bmp_decmap[2187] = { - 0x0027, 0x0022, 0x002d, 0x007e, 0x3033, 0x3034, 0x3035, 0x303b, + 0xff07, 0xff02, 0xff0d, 0x007e, 0x3033, 0x3034, 0x3035, 0x303b, 0x303c, 0x30ff, 0x309f, UNIINV, UNIINV, UNIINV, UNIINV, UNIINV, UNIINV, UNIINV, UNIINV, 0x2284, 0x2285, 0x228a, 0x228b, 0x2209, 0x2205, 0x2305, 0x2306, UNIINV, UNIINV, UNIINV, UNIINV, UNIINV, @@ -1104,103 +1104,108 @@ /* 0xFF */ {0, 0, 0}, }; -static const DBCHAR __jisx0213_bmp_encmap[27357] = { - 0x2230, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x222f, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0x2231, NOCHAR, NOCHAR, NOCHAR, NOCHAR, +static const DBCHAR __jisx0213_bmp_encmap[27277] = { + 0x2232, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2922, 0x2923, NOCHAR, NOCHAR, 0x2924, NOCHAR, + 0x2925, NOCHAR, NOCHAR, 0x2926, 0x2927, 0x2928, NOCHAR, 0x2929, + 0x292a, 0x292b, NOCHAR, NOCHAR, 0x292c, 0x292d, NOCHAR, NOCHAR, + NOCHAR, 0x292e, 0x292f, 0x2930, 0x2931, 0x2932, 0x2933, 0x2934, + 0x2935, 0x2936, 0x2937, 0x2938, 0x2939, 0x293a, 0x293b, 0x293c, + 0x293d, 0x293e, 0x293f, 0x2940, 0x2941, 0x2942, 0x2943, 0x2944, + 0x2945, 0x2946, 0x2947, 0x2948, 0x2949, 0x294a, 0x294b, 0x294c, + 0x294d, NOCHAR, 0x294e, 0x294f, 0x2950, 0x2951, 0x2952, 0x2953, + 0x2954, 0x2955, 0x2956, 0x2957, 0x2958, 0x2959, 0x295a, 0x295b, + MULTIC, 0x295d, 0x295e, 0x295f, 0x2960, 0x2961, 0x2962, 0x2963, + 0x2964, 0x2965, 0x2966, 0x2967, 0x2968, 0x2969, 0x296a, 0x296b, + 0x296c, NOCHAR, 0x296d, 0x296e, 0x296f, 0x2970, 0x2971, 0x2972, + 0x2973, 0x2974, 0x2975, 0x297a, 0x2a3a, 0x2a49, 0x2a21, 0x2a2c, + 0x2a3c, 0x2a4b, 0x2a59, 0x2a5f, NOCHAR, NOCHAR, 0x2a3d, 0x2a4c, + 0x2a40, 0x2a4f, NOCHAR, 0x2a50, 0x2978, 0x297d, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2a3e, 0x2a4d, 0x2a3f, 0x2a4e, 0x2a5a, 0x2a60, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2a5b, 0x2a61, + NOCHAR, 0x2a7d, NOCHAR, NOCHAR, 0x2976, 0x297b, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2a5c, 0x2a62, + NOCHAR, NOCHAR, NOCHAR, 0x2a3b, 0x2a4a, NOCHAR, NOCHAR, 0x2a24, + 0x2a2f, NOCHAR, NOCHAR, 0x2a23, 0x2a2e, 0x2a41, 0x2a51, NOCHAR, + NOCHAR, 0x2a42, 0x2a52, NOCHAR, NOCHAR, 0x2a7a, 0x2979, 0x297e, + NOCHAR, NOCHAR, 0x2a43, 0x2a53, 0x2b2b, 0x2b2a, 0x2a39, 0x2a48, + NOCHAR, NOCHAR, 0x2a44, 0x2a54, 0x2a25, 0x2a30, 0x2a5d, 0x2a63, + 0x2a27, 0x2a33, 0x2a26, 0x2a32, 0x2a47, 0x2a57, 0x2a28, 0x2a34, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2977, 0x297c, 0x2a5e, 0x2a64, + 0x2a45, 0x2a55, 0x2a46, 0x2a56, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0x2a29, 0x2a35, 0x2a2b, 0x2a38, 0x2a2a, + 0x2a37, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2b29, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2232, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2b24, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x286f, + 0x2870, NOCHAR, 0x2871, 0x2876, 0x2877, NOCHAR, 0x2878, NOCHAR, + 0x2879, NOCHAR, 0x287a, NOCHAR, 0x287b, NOCHAR, 0x287c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2922, 0x2923, - NOCHAR, NOCHAR, 0x2924, NOCHAR, 0x2925, NOCHAR, NOCHAR, 0x2926, - 0x2927, 0x2928, NOCHAR, 0x2929, 0x292a, 0x292b, NOCHAR, NOCHAR, - 0x292c, 0x292d, NOCHAR, NOCHAR, NOCHAR, 0x292e, 0x292f, 0x2930, - 0x2931, 0x2932, 0x2933, 0x2934, 0x2935, 0x2936, 0x2937, 0x2938, - 0x2939, 0x293a, 0x293b, 0x293c, 0x293d, 0x293e, 0x293f, 0x2940, - 0x2941, 0x2942, 0x2943, 0x2944, 0x2945, 0x2946, 0x2947, 0x2948, - 0x2949, 0x294a, 0x294b, 0x294c, 0x294d, NOCHAR, 0x294e, 0x294f, - 0x2950, 0x2951, 0x2952, 0x2953, 0x2954, 0x2955, 0x2956, 0x2957, - 0x2958, 0x2959, 0x295a, 0x295b, MULTIC, 0x295d, 0x295e, 0x295f, - 0x2960, 0x2961, 0x2962, 0x2963, 0x2964, 0x2965, 0x2966, 0x2967, - 0x2968, 0x2969, 0x296a, 0x296b, 0x296c, NOCHAR, 0x296d, 0x296e, - 0x296f, 0x2970, 0x2971, 0x2972, 0x2973, 0x2974, 0x2975, 0x297a, - 0x2a3a, 0x2a49, 0x2a21, 0x2a2c, 0x2a3c, 0x2a4b, 0x2a59, 0x2a5f, - NOCHAR, NOCHAR, 0x2a3d, 0x2a4c, 0x2a40, 0x2a4f, NOCHAR, 0x2a50, - 0x2978, 0x297d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2a3e, 0x2a4d, - 0x2a3f, 0x2a4e, 0x2a5a, 0x2a60, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0x2a5b, 0x2a61, NOCHAR, 0x2a7d, NOCHAR, NOCHAR, - 0x2976, 0x297b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0x2a5c, 0x2a62, NOCHAR, NOCHAR, NOCHAR, 0x2a3b, - 0x2a4a, NOCHAR, NOCHAR, 0x2a24, 0x2a2f, NOCHAR, NOCHAR, 0x2a23, - 0x2a2e, 0x2a41, 0x2a51, NOCHAR, NOCHAR, 0x2a42, 0x2a52, NOCHAR, - NOCHAR, 0x2a7a, 0x2979, 0x297e, NOCHAR, NOCHAR, 0x2a43, 0x2a53, - 0x2b2b, 0x2b2a, 0x2a39, 0x2a48, NOCHAR, NOCHAR, 0x2a44, 0x2a54, - 0x2a25, 0x2a30, 0x2a5d, 0x2a63, 0x2a27, 0x2a33, 0x2a26, 0x2a32, - 0x2a47, 0x2a57, 0x2a28, 0x2a34, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2977, 0x297c, 0x2a5e, 0x2a64, 0x2a45, 0x2a55, 0x2a46, 0x2a56, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2a29, - 0x2a35, 0x2a2b, 0x2a38, 0x2a2a, 0x2a37, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2874, 0x2875, NOCHAR, NOCHAR, NOCHAR, 0x2b45, + 0x2b33, 0x2b39, 0x2b3a, 0x2b25, MULTIC, 0x2b3f, 0x2a6e, 0x2b26, + 0x2b2e, MULTIC, MULTIC, NOCHAR, 0x2b31, NOCHAR, 0x2b32, 0x2a75, + 0x2b28, 0x2a79, NOCHAR, NOCHAR, 0x2b36, 0x2b3c, 0x2b22, 0x2b42, + 0x2b2c, NOCHAR, NOCHAR, NOCHAR, 0x2a6a, 0x2a74, 0x2a6b, 0x2b34, + 0x2a7b, 0x2a65, 0x2a76, 0x2a6f, NOCHAR, 0x2b2f, NOCHAR, NOCHAR, + NOCHAR, 0x2a6c, 0x2b41, 0x2a73, NOCHAR, 0x2a70, 0x2a67, NOCHAR, + NOCHAR, 0x2a7c, 0x2a71, 0x2a68, 0x2b27, NOCHAR, NOCHAR, NOCHAR, + 0x2a6d, 0x2b2d, 0x2b35, 0x2a66, MULTIC, 0x2b3b, 0x2a78, NOCHAR, + 0x2a72, 0x2b40, 0x2a69, NOCHAR, 0x2b21, 0x2a7e, NOCHAR, NOCHAR, + 0x2b23, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2a77, NOCHAR, NOCHAR, + NOCHAR, 0x2b3e, 0x2b3d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x2b29, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2a31, + 0x2b53, NOCHAR, NOCHAR, NOCHAR, 0x2b54, NOCHAR, NOCHAR, NOCHAR, + 0x2b55, 0x2b56, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0x2a22, 0x2a58, NOCHAR, 0x2a2d, NOCHAR, 0x2a36, 0x2b71, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, MULTIC, 0x2b61, 0x2b62, + 0x2b63, MULTIC, 0x2b5c, 0x2b5a, 0x2b5f, 0x2b7d, 0x2b5b, NOCHAR, + 0x2b57, NOCHAR, 0x2b6d, NOCHAR, NOCHAR, 0x2b59, 0x2b5e, NOCHAR, + NOCHAR, 0x2b5d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2b78, 0x2b79, 0x2b7e, NOCHAR, 0x2b6a, 0x2b76, + 0x2b77, 0x2b6b, 0x2b6c, NOCHAR, NOCHAR, NOCHAR, 0x2b72, 0x2b67, + NOCHAR, NOCHAR, NOCHAR, 0x2b6f, 0x2b7a, NOCHAR, 0x2b68, NOCHAR, + NOCHAR, 0x2b70, 0x2b73, NOCHAR, NOCHAR, NOCHAR, 0x2b75, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0x2b69, 0x2b7b, 0x2b7c, 0x2b74, 0x2b6e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2b24, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0x286f, 0x2870, NOCHAR, 0x2871, 0x2876, - 0x2877, NOCHAR, 0x2878, NOCHAR, 0x2879, NOCHAR, 0x287a, NOCHAR, - 0x287b, NOCHAR, 0x287c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0x2b52, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2874, 0x2875, - NOCHAR, NOCHAR, NOCHAR, 0x2b45, 0x2b33, 0x2b39, 0x2b3a, 0x2b25, - MULTIC, 0x2b3f, 0x2a6e, 0x2b26, 0x2b2e, MULTIC, MULTIC, NOCHAR, - 0x2b31, NOCHAR, 0x2b32, 0x2a75, 0x2b28, 0x2a79, NOCHAR, NOCHAR, - 0x2b36, 0x2b3c, 0x2b22, 0x2b42, 0x2b2c, NOCHAR, NOCHAR, NOCHAR, - 0x2a6a, 0x2a74, 0x2a6b, 0x2b34, 0x2a7b, 0x2a65, 0x2a76, 0x2a6f, - NOCHAR, 0x2b2f, NOCHAR, NOCHAR, NOCHAR, 0x2a6c, 0x2b41, 0x2a73, - NOCHAR, 0x2a70, 0x2a67, NOCHAR, NOCHAR, 0x2a7c, 0x2a71, 0x2a68, - 0x2b27, NOCHAR, NOCHAR, NOCHAR, 0x2a6d, 0x2b2d, 0x2b35, 0x2a66, - MULTIC, 0x2b3b, 0x2a78, NOCHAR, 0x2a72, 0x2b40, 0x2a69, NOCHAR, - 0x2b21, 0x2a7e, NOCHAR, NOCHAR, 0x2b23, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x2a77, NOCHAR, NOCHAR, NOCHAR, 0x2b3e, 0x2b3d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0x2a31, 0x2b53, NOCHAR, NOCHAR, NOCHAR, - 0x2b54, NOCHAR, NOCHAR, NOCHAR, 0x2b55, 0x2b56, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2a22, 0x2a58, NOCHAR, 0x2a2d, - NOCHAR, 0x2a36, 0x2b71, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, MULTIC, 0x2b61, 0x2b62, 0x2b63, MULTIC, 0x2b5c, 0x2b5a, - 0x2b5f, 0x2b7d, 0x2b5b, NOCHAR, 0x2b57, NOCHAR, 0x2b6d, NOCHAR, - NOCHAR, 0x2b59, 0x2b5e, NOCHAR, NOCHAR, 0x2b5d, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2b78, 0x2b79, - 0x2b7e, NOCHAR, 0x2b6a, 0x2b76, 0x2b77, 0x2b6b, 0x2b6c, NOCHAR, - NOCHAR, NOCHAR, 0x2b72, 0x2b67, NOCHAR, NOCHAR, NOCHAR, 0x2b6f, - 0x2b7a, NOCHAR, 0x2b68, NOCHAR, NOCHAR, 0x2b70, 0x2b73, NOCHAR, - NOCHAR, NOCHAR, 0x2b75, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2b69, - 0x2b7b, 0x2b7c, 0x2b74, 0x2b6e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2b52, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2659, 0x2872, 0x2873, 0x2b46, + 0x2b47, 0x2b50, 0x2b51, 0x237c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2340, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x286b, NOCHAR, NOCHAR, 0x2b58, + NOCHAR, NOCHAR, 0x2c7e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x286c, + 0x286d, 0x286e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2c7d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, @@ -1208,83 +1213,80 @@ NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2659, 0x2872, 0x2873, 0x2b46, 0x2b47, 0x2b50, 0x2b51, 0x237c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2340, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2921, 0x235d, NOCHAR, NOCHAR, + NOCHAR, 0x235f, NOCHAR, NOCHAR, 0x2d62, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d64, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2360, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x286b, NOCHAR, NOCHAR, 0x2b58, NOCHAR, NOCHAR, 0x2c7e, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0x286c, 0x286d, 0x286e, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2c7d, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0x235c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2778, 0x2779, 0x277a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d35, 0x2d36, + 0x2d37, 0x2d38, 0x2d39, 0x2d3a, 0x2d3b, 0x2d3c, 0x2d3d, 0x2d3e, + 0x2d3f, 0x2d57, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2c35, 0x2c36, + 0x2c37, 0x2c38, 0x2c39, 0x2c3a, 0x2c3b, 0x2c3c, 0x2c3d, 0x2c3e, + 0x2c3f, 0x2c40, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2271, NOCHAR, 0x2327, 0x2325, 0x2326, 0x2328, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2329, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2921, 0x235d, NOCHAR, NOCHAR, NOCHAR, 0x235f, NOCHAR, NOCHAR, - 0x2d62, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0x2d64, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x2360, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x235c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x232b, 0x232c, 0x232a, 0x232d, + 0x2247, NOCHAR, NOCHAR, NOCHAR, 0x2246, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x235b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2778, 0x2779, 0x277a, + NOCHAR, NOCHAR, 0x2d78, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0x2254, 0x2255, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2d73, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0x2d35, 0x2d36, 0x2d37, 0x2d38, 0x2d39, 0x2d3a, - 0x2d3b, 0x2d3c, 0x2d3d, 0x2d3e, 0x2d3f, 0x2d57, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0x2c35, 0x2c36, 0x2c37, 0x2c38, 0x2c39, 0x2c3a, - 0x2c3b, 0x2c3c, 0x2c3d, 0x2c3e, 0x2c3f, 0x2c40, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x226c, NOCHAR, + 0x226d, NOCHAR, NOCHAR, 0x226e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2271, NOCHAR, - 0x2327, 0x2325, 0x2326, 0x2328, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x226b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x226f, 0x2270, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2242, + 0x2243, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2244, 0x2245, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0x2251, 0x2252, 0x2253, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2329, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2d79, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x232b, 0x232c, 0x232a, 0x232d, 0x2247, NOCHAR, NOCHAR, NOCHAR, - 0x2246, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0x235b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d78, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2254, 0x2255, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d73, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2776, 0x2777, 0x2248, + 0x2249, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0x226c, NOCHAR, 0x226d, NOCHAR, NOCHAR, 0x226e, + NOCHAR, NOCHAR, 0x277c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x226b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x226f, 0x2270, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0x2242, 0x2243, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x2244, 0x2245, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2251, 0x2252, 0x2253, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d79, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x2776, 0x2777, 0x2248, 0x2249, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x277c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, @@ -1292,12 +1294,19 @@ NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0x2742, 0x2743, 0x2744, 0x2745, 0x2746, 0x2747, 0x2748, 0x2749, + 0x274a, 0x274b, 0x274c, 0x274d, 0x274e, 0x274f, 0x2750, NOCHAR, + 0x277e, 0x277d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d21, 0x2d22, + 0x2d23, 0x2d24, 0x2d25, 0x2d26, 0x2d27, 0x2d28, 0x2d29, 0x2d2a, + 0x2d2b, 0x2d2c, 0x2d2d, 0x2d2e, 0x2d2f, 0x2d30, 0x2d31, 0x2d32, + 0x2d33, 0x2d34, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, @@ -1305,205 +1314,211 @@ NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2742, 0x2743, 0x2744, 0x2745, - 0x2746, 0x2747, 0x2748, 0x2749, 0x274a, 0x274b, 0x274c, 0x274d, - 0x274e, 0x274f, 0x2750, NOCHAR, 0x277e, 0x277d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2c41, 0x2c42, + 0x2c43, 0x2c44, 0x2c45, 0x2c46, 0x2c47, 0x2c48, 0x2c49, 0x2c4a, + 0x2c4b, 0x2c4c, 0x2c4d, 0x2c4e, 0x2c4f, 0x2c50, 0x2c51, 0x2c52, + 0x2c53, 0x2c54, 0x2c55, 0x2c56, 0x2c57, 0x2c58, 0x2c59, 0x2c5a, + NOCHAR, 0x2c2b, 0x2c2c, 0x2c2d, 0x2c2e, 0x2c2f, 0x2c30, 0x2c31, + 0x2c32, 0x2c33, 0x2c34, 0x265a, 0x265b, 0x265c, 0x265d, 0x265e, + 0x265f, 0x2660, 0x2661, 0x2662, 0x2663, 0x266d, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2322, 0x2321, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2324, 0x2323, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x233b, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2867, 0x2868, 0x2869, 0x286a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x233f, 0x2668, 0x2669, 0x266a, 0x266b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2667, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2664, 0x2665, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2d7e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0x2d21, 0x2d22, 0x2d23, 0x2d24, 0x2d25, 0x2d26, - 0x2d27, 0x2d28, 0x2d29, 0x2d2a, 0x2d2b, 0x2d2c, 0x2d2d, 0x2d2e, - 0x2d2f, 0x2d30, 0x2d31, 0x2d32, 0x2d33, 0x2d34, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0x263a, 0x263d, 0x263b, 0x2640, 0x2639, + 0x263e, 0x263c, 0x263f, 0x266c, 0x227d, NOCHAR, 0x227b, 0x227c, + NOCHAR, 0x227a, 0x277b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0x2c41, 0x2c42, 0x2c43, 0x2c44, 0x2c45, 0x2c46, - 0x2c47, 0x2c48, 0x2c49, 0x2c4a, 0x2c4b, 0x2c4c, 0x2c4d, 0x2c4e, - 0x2c4f, 0x2c50, 0x2c51, 0x2c52, 0x2c53, 0x2c54, 0x2c55, 0x2c56, - 0x2c57, 0x2c58, 0x2c59, 0x2c5a, NOCHAR, 0x2c2b, 0x2c2c, 0x2c2d, - 0x2c2e, 0x2c2f, 0x2c30, 0x2c31, 0x2c32, 0x2c33, 0x2c34, 0x265a, - 0x265b, 0x265c, 0x265d, 0x265e, 0x265f, 0x2660, 0x2661, 0x2662, - 0x2663, 0x266d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2322, 0x2321, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2324, 0x2323, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x233b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2867, 0x2868, 0x2869, 0x286a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x233f, 0x2668, - 0x2669, 0x266a, 0x266b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2667, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2664, 0x2665, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d7e, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d7d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2c21, 0x2c22, 0x2c23, + 0x2c24, 0x2c25, 0x2c26, 0x2c27, 0x2c28, 0x2c29, 0x2c2a, 0x232e, + 0x232f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x263a, - 0x263d, 0x263b, 0x2640, 0x2639, 0x263e, 0x263c, 0x263f, 0x266c, - 0x227d, NOCHAR, 0x227b, 0x227c, NOCHAR, 0x227a, 0x277b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0x2256, 0x2257, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x2d7d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x2c21, 0x2c22, 0x2c23, 0x2c24, 0x2c25, 0x2c26, 0x2c27, - 0x2c28, 0x2c29, 0x2c2a, 0x232e, 0x232f, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x233a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x237d, 0x237e, 0x225a, + 0x225b, 0x2258, 0x2259, NOCHAR, NOCHAR, NOCHAR, 0x2d60, NOCHAR, + 0x2d61, 0x2666, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2233, 0x2234, 0x2235, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2236, 0x2237, 0x233c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, MULTIC, NOCHAR, MULTIC, NOCHAR, + MULTIC, NOCHAR, MULTIC, NOCHAR, MULTIC, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2256, 0x2257, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x233a, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2474, 0x2475, 0x2476, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0x2239, 0x237b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, MULTIC, NOCHAR, MULTIC, NOCHAR, + MULTIC, NOCHAR, MULTIC, NOCHAR, MULTIC, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, MULTIC, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, MULTIC, NOCHAR, NOCHAR, + NOCHAR, MULTIC, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0x2772, 0x2773, 0x2774, 0x2775, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0x2238, 0x266e, 0x266f, 0x2670, 0x2671, 0x2672, 0x2673, 0x2674, + MULTIC, 0x2676, 0x2677, 0x2679, 0x267a, 0x267b, 0x267c, 0x267d, + 0x267e, 0x2d6a, 0x2d6b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2d6c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x237d, 0x237e, 0x225a, 0x225b, 0x2258, 0x2259, NOCHAR, - NOCHAR, NOCHAR, 0x2d60, NOCHAR, 0x2d61, 0x2666, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2841, 0x2842, 0x2843, 0x2844, 0x2845, 0x2846, 0x2847, + 0x2848, 0x2849, 0x284a, 0x284b, 0x284c, 0x284d, 0x284e, 0x284f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2233, 0x2234, 0x2235, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2236, 0x2237, 0x233c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - MULTIC, NOCHAR, MULTIC, NOCHAR, MULTIC, NOCHAR, MULTIC, NOCHAR, - MULTIC, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d65, 0x2d66, 0x2d67, 0x2d68, + 0x2d69, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2850, 0x2851, 0x2852, 0x2853, 0x2854, 0x2855, 0x2856, + 0x2857, 0x2858, 0x2859, 0x285a, 0x285b, 0x285c, 0x285d, 0x285e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x2474, 0x2475, 0x2476, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2239, 0x237b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - MULTIC, NOCHAR, MULTIC, NOCHAR, MULTIC, NOCHAR, MULTIC, NOCHAR, - MULTIC, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - MULTIC, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, MULTIC, NOCHAR, NOCHAR, NOCHAR, MULTIC, NOCHAR, NOCHAR, + 0x2c5b, 0x2c5c, 0x2c5d, 0x2c5e, 0x2c5f, 0x2c60, 0x2c61, 0x2c62, + 0x2c63, 0x2c64, 0x2c65, 0x2c66, 0x2c67, 0x2c68, 0x2c69, 0x2c6a, + 0x2c6b, 0x2c6c, 0x2c6d, 0x2c6e, NOCHAR, 0x2c71, NOCHAR, NOCHAR, + NOCHAR, 0x2c70, NOCHAR, NOCHAR, 0x2c73, 0x2c72, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2c6f, 0x2d46, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d4a, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d41, NOCHAR, NOCHAR, NOCHAR, + 0x2d44, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x2d42, 0x2d4c, NOCHAR, NOCHAR, 0x2d4b, 0x2d45, + NOCHAR, NOCHAR, NOCHAR, 0x2d4d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d47, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0x2d4f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2d40, 0x2d4e, NOCHAR, NOCHAR, 0x2d43, NOCHAR, NOCHAR, + NOCHAR, 0x2d48, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d49, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2772, 0x2773, 0x2774, 0x2775, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2238, 0x266e, 0x266f, 0x2670, - 0x2671, 0x2672, 0x2673, 0x2674, MULTIC, 0x2676, 0x2677, 0x2679, - 0x267a, 0x267b, 0x267c, 0x267d, 0x267e, 0x2d6a, 0x2d6b, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d6c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0x2d5f, 0x2d6f, 0x2d6e, 0x2d6d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2841, 0x2842, 0x2843, - 0x2844, 0x2845, 0x2846, 0x2847, 0x2848, 0x2849, 0x284a, 0x284b, - 0x284c, 0x284d, 0x284e, 0x284f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d53, 0x2d54, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d50, 0x2d51, 0x2d52, NOCHAR, + NOCHAR, 0x2d56, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d55, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0x235e, NOCHAR, 0x2d63, 0x2e23, NOCHAR, + NOCHAR, NOCHAR, 0xa12d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2d65, 0x2d66, 0x2d67, 0x2d68, 0x2d69, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2850, 0x2851, 0x2852, - 0x2853, 0x2854, 0x2855, 0x2856, 0x2857, 0x2858, 0x2859, 0x285a, - 0x285b, 0x285c, 0x285d, 0x285e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0xa132, NOCHAR, 0xa133, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2c5b, 0x2c5c, 0x2c5d, 0x2c5e, - 0x2c5f, 0x2c60, 0x2c61, 0x2c62, 0x2c63, 0x2c64, 0x2c65, 0x2c66, - 0x2c67, 0x2c68, 0x2c69, 0x2c6a, 0x2c6b, 0x2c6c, 0x2c6d, 0x2c6e, - NOCHAR, 0x2c71, NOCHAR, NOCHAR, NOCHAR, 0x2c70, NOCHAR, NOCHAR, - 0x2c73, 0x2c72, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2c6f, 0x2d46, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x2d4a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2d41, NOCHAR, NOCHAR, NOCHAR, 0x2d44, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d42, 0x2d4c, - NOCHAR, NOCHAR, 0x2d4b, 0x2d45, NOCHAR, NOCHAR, NOCHAR, 0x2d4d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0x2d47, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d4f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d40, 0x2d4e, NOCHAR, - NOCHAR, 0x2d43, NOCHAR, NOCHAR, NOCHAR, 0x2d48, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0x2d49, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa15e, NOCHAR, 0xa156, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2d5f, - 0x2d6f, 0x2d6e, 0x2d6d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0x2d53, 0x2d54, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2d50, 0x2d51, 0x2d52, NOCHAR, NOCHAR, 0x2d56, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa17e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x2d55, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x235e, - NOCHAR, 0x2d63, 0x2e23, NOCHAR, NOCHAR, NOCHAR, 0xa12d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0x2e53, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0xa32b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xf468, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0xa32f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2e5b, + 0xa348, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa132, NOCHAR, 0xa133, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa35d, 0xa35e, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa361, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa367, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0xa15e, NOCHAR, 0xa156, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa423, + NOCHAR, 0xa426, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0xa17e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa42f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x2e53, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa32b, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0xf468, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa32f, + NOCHAR, NOCHAR, NOCHAR, 0xa438, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0x2e5b, 0xa348, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa442, 0xa44a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, @@ -1511,84 +1526,76 @@ NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0xa35d, 0xa35e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0xa361, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0xa367, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0xa479, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0xa423, NOCHAR, 0xa426, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0xa42f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0xa53f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa543, + NOCHAR, NOCHAR, 0xa541, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa438, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0xa442, 0xa44a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0xa557, 0xa823, 0xa825, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0xa829, 0xa828, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa82c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x4f5f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa479, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0xa83e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0x4f6f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0xa856, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa859, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa85c, 0xa85e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa53f, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0xa543, NOCHAR, NOCHAR, 0xa541, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa86f, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa871, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa874, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa557, 0xa823, 0xa825, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa829, - 0xa828, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0xa82c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0xa879, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa87b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x4f5f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa83e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x4f6f, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa856, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0xa859, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0xa85c, 0xa85e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0xa86f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0xa871, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0xa874, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xa879, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0xa87b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0xac3b, 0xac46, NOCHAR, NOCHAR, 0xac4a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, @@ -1599,6 +1606,7 @@ NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0xac60, 0xad5b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xad5f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, @@ -1606,71 +1614,69 @@ NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xac3b, 0xac46, NOCHAR, NOCHAR, - 0xac4a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0xad71, 0xae36, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xad7c, 0xae2e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0xae32, NOCHAR, 0xae34, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0x7549, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xac60, 0xad5b, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0xad5f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xae6d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0xae65, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0xaf28, 0xaf29, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xaf2c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xaf34, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xad71, 0xae36, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x757e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x7621, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xaf48, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0xad7c, 0xae2e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xae32, - NOCHAR, 0xae34, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x7549, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0xaf5d, 0x763a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0xaf77, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0xae6d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xae65, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xaf28, 0xaf29, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0xaf2c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0xaf34, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0x757e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x7621, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0xaf48, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xaf5d, 0x763a, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xaf77, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xee3b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xee42, 0xee71, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0xee7e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, @@ -1679,76 +1685,78 @@ NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0xef40, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, 0xee3b, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xef54, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0xee42, 0xee71, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xee7e, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xef70, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0xef77, 0xf028, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xef40, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x7766, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, 0xef54, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xf03f, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, 0xf041, NOCHAR, 0xf042, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + 0xf049, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0xef70, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0xf050, 0xf134, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xef77, 0xf028, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0x784d, NOCHAR, NOCHAR, + 0xf146, NOCHAR, 0xf148, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - 0x7766, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, 0xf15c, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xf167, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0xf03f, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xf041, - NOCHAR, 0xf042, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, + NOCHAR, NOCHAR, 0xf16c, 0xf222, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xf049, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, 0xf050, 0xf134, NOCHAR, + NOCHAR, NOCHAR, 0xf22d, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, - NOCHAR, 0x784d, NOCHAR, NOCHAR, 0xf146, NOCHAR, 0xf148, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOCHAR, NOC... [truncated message content] |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 14:01:51
|
perky 03/07/12 07:01:50 Modified: tests test_mapping_euc_jisx0213.py Added: tests test_mapping_shift_jisx0213.py Log: Add unittest for SHIFT-JISX0213 Revision Changes Path 1.2 +2 -2 cjkcodecs/tests/test_mapping_euc_jisx0213.py Index: test_mapping_euc_jisx0213.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_mapping_euc_jisx0213.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- test_mapping_euc_jisx0213.py 12 Jul 2003 13:52:01 -0000 1.1 +++ test_mapping_euc_jisx0213.py 12 Jul 2003 14:01:50 -0000 1.2 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_mapping_euc_jisx0213.py,v 1.1 2003/07/12 13:52:01 perky Exp $ +# $Id: test_mapping_euc_jisx0213.py,v 1.2 2003/07/12 14:01:50 perky Exp $ # from test import test_support @@ -37,7 +37,7 @@ if not os.path.exists('EUC-JISX0213.TXT'): raise test_support.TestSkipped( - 'EUC-JP.TXT not found, download from http://people.freebsd' + 'EUC-JISX0213.TXT not found, download from http://people.freebsd' '.org/~perky/i18n/EUC-JISX0213.TXT') class TestEUCJISX0213Map(test_multibytecodec_support.TestBase_Mapping, 1.1 cjkcodecs/tests/test_mapping_shift_jisx0213.py Index: test_mapping_shift_jisx0213.py =================================================================== #!/usr/bin/env python # # test_mapping_shift_jisx0213.py: Mapping test for SHIFT-JISX0213 codec # # Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # $Id: test_mapping_shift_jisx0213.py,v 1.1 2003/07/12 14:01:50 perky Exp $ # from test import test_support import test_multibytecodec_support import sys, codecs, os import unittest if not os.path.exists('SHIFT_JISX0213.TXT'): raise test_support.TestSkipped( 'SHIFT_JISX0213.TXT not found, download from http://people.freebsd' '.org/~perky/i18n/SHIFT_JISX0213.TXT') class TestSJISX0213Map(test_multibytecodec_support.TestBase_Mapping, unittest.TestCase): encoding = 'cjkcodecs.shift_jisx0213' mapfilename = 'SHIFT_JISX0213.TXT' def test_main(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestSJISX0213Map)) test_support.run_suite(suite) if __name__ == "__main__": test_main() # ex: ts=8 sts=4 et |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 13:52:02
|
perky 03/07/12 06:52:01 Modified: tests test_multibytecodec_support.py Added: tests test_mapping_euc_jisx0213.py Log: Add unittest for EUC-JISX0213 Revision Changes Path 1.7 +17 -1 cjkcodecs/tests/test_multibytecodec_support.py Index: test_multibytecodec_support.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tests/test_multibytecodec_support.py,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- test_multibytecodec_support.py 20 Jun 2003 09:04:53 -0000 1.6 +++ test_multibytecodec_support.py 12 Jul 2003 13:52:01 -0000 1.7 @@ -27,7 +27,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: test_multibytecodec_support.py,v 1.6 2003/06/20 09:04:53 perky Exp $ +# $Id: test_multibytecodec_support.py,v 1.7 2003/07/12 13:52:01 perky Exp $ # import sys, codecs, os.path @@ -151,6 +151,22 @@ ostream.write(data) self.assertEqual(ostream.getvalue(), self.tstring[0]) + +if len(u'\U00012345') == 2: # ucs2 build + _unichr = unichr + def unichr(v): + if v >= 0x10000: + return _unichr(0xd800 + ((v - 0x10000) >> 10)) + \ + _unichr(0xdc00 + ((v - 0x10000) & 0x3ff)) + else: + return _unichr(v) + _ord = ord + def ord(c): + if len(c) == 2: + return 0x10000 + ((_ord(c[0]) - 0xd800) << 10) + \ + (ord(c[1]) - 0xdc00) + else: + return _ord(c) class TestBase_Mapping(unittest.TestCase): pass_enctest = [] 1.1 cjkcodecs/tests/test_mapping_euc_jisx0213.py Index: test_mapping_euc_jisx0213.py =================================================================== #!/usr/bin/env python # # test_mapping_euc_jisx0213.py: Mapping test for EUC-JISX0213 codec # # Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # $Id: test_mapping_euc_jisx0213.py,v 1.1 2003/07/12 13:52:01 perky Exp $ # from test import test_support import test_multibytecodec_support import sys, codecs, os import unittest if not os.path.exists('EUC-JISX0213.TXT'): raise test_support.TestSkipped( 'EUC-JP.TXT not found, download from http://people.freebsd' '.org/~perky/i18n/EUC-JISX0213.TXT') class TestEUCJISX0213Map(test_multibytecodec_support.TestBase_Mapping, unittest.TestCase): encoding = 'cjkcodecs.euc_jisx0213' mapfilename = 'EUC-JISX0213.TXT' def test_main(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestEUCJISX0213Map)) test_support.run_suite(suite) if __name__ == "__main__": test_main() # ex: ts=8 sts=4 et |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 12:42:50
|
perky 03/07/12 05:42:48 Added: tests test_encoding_euc_jisx0213.py test_encoding_shift_jisx0213.py Log: Add unittests for JIS X 0213 encodings. Revision Changes Path 1.1 cjkcodecs/tests/test_encoding_euc_jisx0213.py Index: test_encoding_euc_jisx0213.py =================================================================== #!/usr/bin/env python # # test_encoding_euc_jisx0213.py: Encoding test for the EUC-JISX0213 codec # # Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # $Id: test_encoding_euc_jisx0213.py,v 1.1 2003/07/12 12:42:48 perky Exp $ # from test import test_support import test_multibytecodec_support import unittest class Test_EUC_JISX0213(test_multibytecodec_support.TestBase, unittest.TestCase): encoding = 'cjkcodecs.euc_jisx0213' tstring = test_multibytecodec_support.load_teststring('euc_jisx0213') errortests = ( # invalid bytes ("abc\x80\x80\xc1\xc4", "strict", None), ("abc\xc8", "strict", None), ("abc\x80\x80\xc1\xc4", "replace", u"abc\ufffd\u7956"), ("abc\x80\x80\xc1\xc4\xc8", "replace", u"abc\ufffd\u7956\ufffd"), ("abc\x80\x80\xc1\xc4", "ignore", u"abc\u7956"), ("abc\x8f\x83\x83", "replace", u"abc\ufffd"), ("\xc1\x64", "strict", None), ("\xa1\xc0", "strict", u"\uff3c"), ) def test_main(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(Test_EUC_JISX0213)) test_support.run_suite(suite) if __name__ == "__main__": test_main() # ex: ts=8 sts=4 et 1.1 cjkcodecs/tests/test_encoding_shift_jisx0213.py Index: test_encoding_shift_jisx0213.py =================================================================== #!/usr/bin/env python # # test_encoding_shift_jisx0213.py: Encoding test for the Shift-JISX0213 codec # # Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # $Id: test_encoding_shift_jisx0213.py,v 1.1 2003/07/12 12:42:48 perky Exp $ # from test import test_support import test_multibytecodec_support import unittest class Test_SJISX0213(test_multibytecodec_support.TestBase, unittest.TestCase): encoding = 'cjkcodecs.shift_jisx0213' tstring = test_multibytecodec_support.load_teststring('shift_jisx0213') errortests = ( # invalid bytes ("abc\x80\x80\x82\x84", "strict", None), ("abc\xf8", "strict", None), ("abc\x80\x80\x82\x84", "replace", u"abc\ufffd\uff44"), ("abc\x80\x80\x82\x84\x88", "replace", u"abc\ufffd\uff44\ufffd"), ("abc\x80\x80\x82\x84def", "ignore", u"abc\uff44def"), # sjis vs cp932 ("\\\x7e", "replace", u"\xa5\u203e"), ("\x81\x5f\x81\x61\x81\x7c", "replace", u"\x5c\u2016\u2212"), ) def test_main(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(Test_SJISX0213)) test_support.run_suite(suite) if __name__ == "__main__": test_main() # ex: ts=8 sts=4 et |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 12:42:50
|
perky 03/07/12 05:42:49 Added: tests/sampletexts euc_jisx0213.txt euc_jisx0213.utf8 shift_jisx0213.txt shift_jisx0213.utf8 Log: Add unittests for JIS X 0213 encodings. Revision Changes Path 1.1 cjkcodecs/tests/sampletexts/euc_jisx0213.txt <<Binary file>> 1.1 cjkcodecs/tests/sampletexts/euc_jisx0213.utf8 <<Binary file>> 1.1 cjkcodecs/tests/sampletexts/shift_jisx0213.txt <<Binary file>> 1.1 cjkcodecs/tests/sampletexts/shift_jisx0213.utf8 <<Binary file>> |
From: Hye-Shik C. <pe...@us...> - 2003-07-12 05:22:24
|
perky 03/07/11 22:22:24 Modified: src _utf_7.c codeccommon.h Added: src _utf_16.c _utf_16be.c _utf_16le.c Log: Add utf-16 codecs. Revision Changes Path 1.2 +2 -2 cjkcodecs/src/_utf_7.c Index: _utf_7.c =================================================================== RCS file: /cvsroot/koco/cjkcodecs/src/_utf_7.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- _utf_7.c 12 Jul 2003 03:47:14 -0000 1.1 +++ _utf_7.c 12 Jul 2003 05:22:23 -0000 1.2 @@ -1,5 +1,5 @@ /* - * _utf_7.c: the UTF-8 codec (RFC2152) + * _utf_7.c: the UTF-7 codec (RFC2152) * * Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. * All rights reserved. @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $Id: _utf_7.c,v 1.1 2003/07/12 03:47:14 perky Exp $ + * $Id: _utf_7.c,v 1.2 2003/07/12 05:22:23 perky Exp $ */ #include "codeccommon.h" 1.25 +2 -2 cjkcodecs/src/codeccommon.h Index: codeccommon.h =================================================================== RCS file: /cvsroot/koco/cjkcodecs/src/codeccommon.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- codeccommon.h 12 Jul 2003 03:47:14 -0000 1.24 +++ codeccommon.h 12 Jul 2003 05:22:23 -0000 1.25 @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $Id: codeccommon.h,v 1.24 2003/07/12 03:47:14 perky Exp $ + * $Id: codeccommon.h,v 1.25 2003/07/12 05:22:23 perky Exp $ */ #include "Python.h" @@ -147,7 +147,7 @@ if (c >> 10 == 0xd800 >> 10) { /* high surrogate */ \ RESERVE_INBUF(2) \ if (IN2 >> 10 == 0xdc00 >> 10) { /* low surrogate */ \ - c = 0x10000 + ((c - 0xd800) << 10) + \ + c = 0x10000 + ((ucs4_t)(c - 0xd800) << 10) + \ ((ucs4_t)(IN2) - 0xdc00); \ } \ } 1.1 cjkcodecs/src/_utf_16.c Index: _utf_16.c =================================================================== /* * _utf_16.c: the UTF-16 codec (RFC2781) * * Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * $Id: _utf_16.c,v 1.1 2003/07/12 05:22:23 perky Exp $ */ #include "codeccommon.h" #define HAVE_ENCODER_INIT ENCODER_INIT(utf_16) { state->i = 1; /* indicates "the beginning of stream" */ return 0; } ENCODER(utf_16) { while (inleft > 0) { Py_UNICODE c = IN1; ucs2_t uc; unsigned char *ucdata = (unsigned char *)&uc; if (state->i) { /* BOM */ state->i = 0; uc = 0xfeff; WRITE2(ucdata[0], ucdata[1]) NEXT_OUT(2) } #if Py_UNICODE_SIZE == 4 if (c > 0xffff) { if (c > 0x10ffff) return 1; RESERVE_OUTBUF(4) uc = 0xd800 + (((c) - 0x10000) >> 10); OUT1(ucdata[0]) OUT2(ucdata[1]) uc = 0xdc00 + (((c) - 0x10000) & 0x3ff); OUT3(ucdata[0]) OUT4(ucdata[1]) NEXT(1, 4) continue; } #endif RESERVE_OUTBUF(2) uc = c; OUT1(ucdata[0]) OUT2(ucdata[1]) NEXT(1, 2) } return 0; } #ifdef WORDS_BIGENDIAN # define _NATIVE 1 #else # define _NATIVE -1 #endif #define HAVE_DECODER_INIT DECODER_INIT(utf_16) { state->i = 0; /* -1: little 0: (the beginning of stream) 1: big */ return 0; } DECODER(utf_16) { while (inleft > 0) { ucs2_t uc; unsigned char *c = (unsigned char *)&uc; RESERVE_INBUF(2) if (state->i == 0) { if (IN1 == 0xff && IN2 == 0xfe) { state->i = -1; NEXT_IN(2) continue; } else if (IN1 == 0xfe && IN2 == 0xff) { state->i = 1; NEXT_IN(2) continue; } else { /* set as native byte order and don't interpret any more * BOMs (RFC2781 Page 4) */ state->i = _NATIVE; } } RESERVE_OUTBUF(1) if (state->i == _NATIVE) c[0] = IN1, c[1] = IN2; else c[1] = IN1, c[0] = IN2; #if Py_UNICODE_SIZE == 4 if (uc >> 10 == 0xd800 >> 10) { ucs2_t uc2; unsigned char *c2 = (unsigned char *)&uc2; RESERVE_INBUF(4) if (state->i == _NATIVE) c2[0] = IN3, c2[1] = IN4; else c2[1] = IN3, c2[0] = IN4; if (uc2 >> 10 != 0xdc00 >> 10) return 4; OUT1(0x10000 + ((ucs4_t)(uc - 0xd800) << 10) + (uc2 - 0xdc00)) NEXT(4, 1) continue; } #endif OUT1(uc) NEXT(2, 1) } return 0; } #define CODEC_WITHOUT_MAPS #include "codecentry.h" CODEC_REGISTRY(utf_16) /* * ex: ts=8 sts=4 et */ 1.1 cjkcodecs/src/_utf_16be.c Index: _utf_16be.c =================================================================== /* * _utf_16be.c: the UTF-16BE codec (RFC2781) * * Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * $Id: _utf_16be.c,v 1.1 2003/07/12 05:22:23 perky Exp $ */ #include "codeccommon.h" #ifdef WORDS_BIGENDIAN # define BYTE0 0 # define BYTE1 1 #else # define BYTE0 1 # define BYTE1 0 #endif ENCODER(utf_16be) { while (inleft > 0) { Py_UNICODE c = IN1; ucs2_t uc; unsigned char *ucdata = (unsigned char *)&uc; #if Py_UNICODE_SIZE == 4 if (c > 0xffff) { if (c > 0x10ffff) return 1; RESERVE_OUTBUF(4) uc = 0xd800 + (((c) - 0x10000) >> 10); OUT1(ucdata[BYTE0]) OUT2(ucdata[BYTE1]) uc = 0xdc00 + (((c) - 0x10000) & 0x3ff); OUT3(ucdata[BYTE0]) OUT4(ucdata[BYTE1]) NEXT(1, 4) continue; } #endif RESERVE_OUTBUF(2) uc = c; OUT1(ucdata[BYTE0]) OUT2(ucdata[BYTE1]) NEXT(1, 2) } return 0; } DECODER(utf_16be) { while (inleft > 0) { ucs2_t uc; unsigned char *c = (unsigned char *)&uc; RESERVE_INBUF(2) RESERVE_OUTBUF(1) c[BYTE0] = IN1; c[BYTE1] = IN2; #if Py_UNICODE_SIZE == 4 if (uc >> 10 == 0xd800 >> 10) { ucs2_t uc2; unsigned char *c2 = (unsigned char *)&uc2; RESERVE_INBUF(4) c2[BYTE0] = IN3; c2[BYTE1] = IN4; if (uc2 >> 10 != 0xdc00 >> 10) return 4; OUT1(0x10000 + ((ucs4_t)(uc - 0xd800) << 10) + (uc2 - 0xdc00)) NEXT(4, 1) continue; } #endif OUT1(uc) NEXT(2, 1) } return 0; } #define CODEC_WITHOUT_MAPS #include "codecentry.h" CODEC_REGISTRY(utf_16be) /* * ex: ts=8 sts=4 et */ 1.1 cjkcodecs/src/_utf_16le.c Index: _utf_16le.c =================================================================== /* * _utf_16le.c: the UTF-16LE codec (RFC2781) * * Copyright (C) 2003 Hye-Shik Chang <pe...@Fr...>. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * $Id: _utf_16le.c,v 1.1 2003/07/12 05:22:23 perky Exp $ */ #include "codeccommon.h" #ifdef WORDS_BIGENDIAN # define BYTE0 1 # define BYTE1 0 #else # define BYTE0 0 # define BYTE1 1 #endif ENCODER(utf_16le) { while (inleft > 0) { Py_UNICODE c = IN1; ucs2_t uc; unsigned char *ucdata = (unsigned char *)&uc; #if Py_UNICODE_SIZE == 4 if (c > 0xffff) { if (c > 0x10ffff) return 1; RESERVE_OUTBUF(4) uc = 0xd800 + (((c) - 0x10000) >> 10); OUT1(ucdata[BYTE0]) OUT2(ucdata[BYTE1]) uc = 0xdc00 + (((c) - 0x10000) & 0x3ff); OUT3(ucdata[BYTE0]) OUT4(ucdata[BYTE1]) NEXT(1, 4) continue; } #endif RESERVE_OUTBUF(2) uc = c; OUT1(ucdata[BYTE0]) OUT2(ucdata[BYTE1]) NEXT(1, 2) } return 0; } DECODER(utf_16le) { while (inleft > 0) { ucs2_t uc; unsigned char *c = (unsigned char *)&uc; RESERVE_INBUF(2) RESERVE_OUTBUF(1) c[BYTE0] = IN1; c[BYTE1] = IN2; #if Py_UNICODE_SIZE == 4 if (uc >> 10 == 0xd800 >> 10) { ucs2_t uc2; unsigned char *c2 = (unsigned char *)&uc2; RESERVE_INBUF(4) c2[BYTE0] = IN3; c2[BYTE1] = IN4; if (uc2 >> 10 != 0xdc00 >> 10) return 4; OUT1(0x10000 + ((ucs4_t)(uc - 0xd800) << 10) + (uc2 - 0xdc00)) NEXT(4, 1) continue; } #endif OUT1(uc) NEXT(2, 1) } return 0; } #define CODEC_WITHOUT_MAPS #include "codecentry.h" CODEC_REGISTRY(utf_16le) /* * ex: ts=8 sts=4 et */ |