12802 lines · 735.3 KB · Java
RawDownload
/* * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.  Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ /* */ package sun.nio.cs.ext; import java.nio.ByteBuffer;import java.nio.CharBuffer;import java.nio.charset.Charset;import java.nio.charset.CharsetDecoder;import java.nio.charset.CharsetEncoder;import java.nio.charset.CoderResult;import sun.nio.cs.Surrogate; public class GB18030    extends Charset{    private static final int GB18030_SINGLE_BYTE = 1;    private static final int GB18030_DOUBLE_BYTE = 2;    private static final int GB18030_FOUR_BYTE = 3;     public GB18030() {        super("GB18030", ExtendedCharsets.aliasesFor("GB18030"));    }     public short[] getDecoderIndex1() {        return decoderIndex1;    }     public String[] getDecoderIndex2() {        return decoderIndex2;    }     public short[] getSubDecoderIndex1() {        return index1;    }     public String[] getSubDecoderIndex2() {        return index2;    }     public short[] getEncoderIndex1() {        return encoderIndex1;    }     public String[] getEncoderIndex2() {        return encoderIndex2;    }     public boolean contains(Charset cs) {        return ((cs.name().equals("US-ASCII"))                || (cs.name().equals("GBK"))                || (cs.name().equals("ISO-8859-1"))                || (cs.name().equals("ISO-8859-2"))                || (cs.name().equals("ISO-8859-3"))                || (cs.name().equals("ISO-8859-4"))                || (cs.name().equals("ISO-8859-5"))                || (cs.name().equals("ISO-8859-6"))                || (cs.name().equals("ISO-8859-7"))                || (cs.name().equals("ISO-8859-8"))                || (cs.name().equals("ISO-8859-9"))                || (cs.name().equals("ISO-8859-13"))                || (cs.name().equals("UTF-8"))                || (cs.name().equals("UTF-16"))                || (cs.name().equals("UTF-16LE"))                || (cs.name().equals("UTF-16BE"))                || (cs.name().equals("ISO-8859-15"))                || (cs.name().equals("windows-1251"))                || (cs.name().equals("windows-1252"))                || (cs.name().equals("windows-1253"))                || (cs.name().equals("windows-1254"))                || (cs.name().equals("windows-1255"))                || (cs.name().equals("windows-1256"))                || (cs.name().equals("windows-1257"))                || (cs.name().equals("windows-1258"))                || (cs.name().equals("windows-932"))                || (cs.name().equals("x-mswin-936"))                || (cs.name().equals("x-windows-949"))                || (cs.name().equals("x-windows-950"))                || (cs.name().equals("windows-31j"))                || (cs.name().equals("JIS_X0201"))                || (cs.name().equals("JIS_X0208-1990"))                || (cs.name().equals("JIS_X0212"))                || (cs.name().equals("Shift_JIS"))                || (cs.name().equals("GB2312"))                || (cs.name().equals("EUC-KR"))                || (cs.name().equals("x-EUC-TW"))                || (cs.name().equals("EUC-JP"))                || (cs.name().equals("euc-jp-linux"))                || (cs.name().equals("KOI8-R"))                || (cs.name().equals("TIS-620"))                || (cs.name().equals("x-ISCII91"))                || (cs.name().equals("Big5"))                || (cs.name().equals("Big5-HKSCS"))                || (cs.name().equals("x-MS950-HKSCS"))                || (cs.name().equals("ISO-2022-JP"))                || (cs.name().equals("ISO-2022-KR"))                || (cs.name().equals("x-ISO-2022-CN-CNS"))                || (cs.name().equals("x-ISO-2022-CN-GB"))                || (cs.name().equals("x-Johab"))                || (cs instanceof GB18030));    }     public CharsetDecoder newDecoder() {        return new Decoder(this);    }     public CharsetEncoder newEncoder() {        return new Encoder(this);    }     private final static String innerDecoderIndex0=        "\u0080"+        "\u0081\u0082\u0083\u0084\u0085\u0086\u0087\u0088"+        "\u0089\u008A\u008B\u008C\u008D\u008E\u008F\u0090"+        "\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098"+        "\u0099\u009A\u009B\u009C\u009D\u009E\u009F\u00A0"+        "\u00A1\u00A2\u00A3\u00A5\u00A6\u00A9\u00AA\u00AB"+        "\u00AC\u00AD\u00AE\u00AF\u00B2\u00B3\u00B4\u00B5"+        "\u00B6\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE"+        "\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6"+        "\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE"+        "\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6"+        "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF"+        "\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00EB\u00EE"+        "\u00EF\u00F0\u00F1\u00F4\u00F5\u00F6\u00F8\u00FB"+        "\u00FD\u00FE\u00FF\u0100\u0102\u0103\u0104\u0105"+        "\u0106\u0107\u0108\u0109\u010A\u010B\u010C\u010D"+        "\u010E\u010F\u0110\u0111\u0112\u0114\u0115\u0116"+        "\u0117\u0118\u0119\u011A\u011C\u011D\u011E\u011F"+        "\u0120\u0121\u0122\u0123\u0124\u0125\u0126\u0127"+        "\u0128\u0129\u012A\u012C\u012D\u012E\u012F\u0130"+        "\u0131\u0132\u0133\u0134\u0135\u0136\u0137\u0138"+        "\u0139\u013A\u013B\u013C\u013D\u013E\u013F\u0140"+        "\u0141\u0142\u0143\u0145\u0146\u0147\u0149\u014A"+        "\u014B\u014C\u014E\u014F\u0150\u0151\u0152\u0153"+        "\u0154\u0155\u0156\u0157\u0158\u0159\u015A\u015B"+        "\u015C\u015D\u015E\u015F\u0160\u0161\u0162\u0163"+        "\u0164\u0165\u0166\u0167\u0168\u0169\u016A\u016C"+        "\u016D\u016E\u016F\u0170\u0171\u0172\u0173\u0174"+        "\u0175\u0176\u0177\u0178\u0179\u017A\u017B\u017C"+        "\u017D\u017E\u017F\u0180\u0181\u0182\u0183\u0184"+        "\u0185\u0186\u0187\u0188\u0189\u018A\u018B\u018C"+        "\u018D\u018E\u018F\u0190\u0191\u0192\u0193\u0194"+        "\u0195\u0196\u0197\u0198\u0199\u019A\u019B"+        "\u019C\u019D\u019E\u019F\u01A0\u01A1\u01A2\u01A3"+        "\u01A4\u01A5\u01A6\u01A7\u01A8\u01A9\u01AA\u01AB"+        "\u01AC\u01AD\u01AE\u01AF\u01B0\u01B1\u01B2\u01B3"+        "\u01B4\u01B5\u01B6\u01B7\u01B8\u01B9\u01BA\u01BB"+        "\u01BC\u01BD\u01BE\u01BF\u01C0\u01C1\u01C2\u01C3"+        "\u01C4\u01C5\u01C6\u01C7\u01C8\u01C9\u01CA\u01CB"+        "\u01CC\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9"+        "\u01DB\u01DD\u01DE\u01DF\u01E0\u01E1\u01E2\u01E3"+        "\u01E4\u01E5\u01E6\u01E7\u01E8\u01E9\u01EA\u01EB"+        "\u01EC\u01ED\u01EE\u01EF\u01F0\u01F1\u01F2\u01F3"+        "\u01F4\u01F5\u01F6\u01F7\u01F8\u01FA\u01FB\u01FC"+        "\u01FD\u01FE\u01FF\u0200\u0201\u0202\u0203\u0204"+        "\u0205\u0206\u0207\u0208\u0209\u020A\u020B\u020C"+        "\u020D\u020E\u020F\u0210\u0211\u0212\u0213\u0214"+        "\u0215\u0216\u0217\u0218\u0219\u021A\u021B\u021C"+        "\u021D\u021E\u021F\u0220\u0221\u0222\u0223\u0224"+        "\u0225\u0226\u0227\u0228\u0229\u022A\u022B\u022C"+        "\u022D\u022E\u022F\u0230\u0231\u0232\u0233\u0234"+        "\u0235\u0236\u0237\u0238\u0239\u023A\u023B\u023C"+        "\u023D\u023E\u023F\u0240\u0241\u0242\u0243\u0244"+        "\u0245\u0246\u0247\u0248\u0249\u024A\u024B\u024C"+        "\u024D\u024E\u024F\u0250\u0252\u0253\u0254\u0255"+        "\u0256\u0257\u0258\u0259\u025A\u025B\u025C\u025D"+        "\u025E\u025F\u0260\u0262\u0263\u0264\u0265\u0266"+        "\u0267\u0268\u0269\u026A\u026B\u026C\u026D\u026E"+        "\u026F\u0270\u0271\u0272\u0273\u0274\u0275\u0276"+        "\u0277\u0278\u0279\u027A\u027B\u027C\u027D\u027E"+        "\u027F\u0280\u0281\u0282\u0283\u0284\u0285\u0286"+        "\u0287\u0288\u0289\u028A\u028B\u028C\u028D\u028E"+        "\u028F\u0290\u0291\u0292\u0293\u0294\u0295\u0296"+        "\u0297\u0298\u0299\u029A\u029B\u029C\u029D\u029E"+        "\u029F\u02A0\u02A1\u02A2\u02A3\u02A4\u02A5\u02A6"+        "\u02A7\u02A8\u02A9\u02AA\u02AB\u02AC\u02AD\u02AE"+        "\u02AF\u02B0\u02B1\u02B2\u02B3\u02B4\u02B5\u02B6"+        "\u02B7\u02B8\u02B9\u02BA\u02BB\u02BC\u02BD\u02BE"+        "\u02BF\u02C0\u02C1\u02C2\u02C3\u02C4\u02C5\u02C6"+        "\u02C8\u02CC\u02CD\u02CE\u02CF\u02D0\u02D1\u02D2"+        "\u02D3\u02D4\u02D5\u02D6\u02D7\u02D8\u02DA\u02DB"+        "\u02DC\u02DD\u02DE\u02DF\u02E0\u02E1\u02E2\u02E3"+        "\u02E4\u02E5\u02E6\u02E7\u02E8\u02E9\u02EA\u02EB"+        "\u02EC\u02ED\u02EE\u02EF\u02F0\u02F1\u02F2\u02F3"+        "\u02F4\u02F5\u02F6\u02F7\u02F8\u02F9\u02FA\u02FB"+        "\u02FC\u02FD\u02FE\u02FF\u0300\u0301\u0302\u0303"+        "\u0304\u0305\u0306\u0307\u0308\u0309\u030A\u030B"+        "\u030C\u030D\u030E\u030F\u0310\u0311\u0312\u0313"+        "\u0314\u0315\u0316\u0317\u0318\u0319\u031A\u031B"+        "\u031C\u031D\u031E\u031F\u0320\u0321\u0322\u0323"+        "\u0324\u0325\u0326\u0327\u0328\u0329\u032A\u032B"+        "\u032C\u032D\u032E\u032F\u0330\u0331\u0332\u0333"+        "\u0334\u0335\u0336\u0337\u0338\u0339\u033A\u033B"+        "\u033C\u033D\u033E\u033F\u0340\u0341\u0342\u0343"+        "\u0344\u0345\u0346\u0347\u0348\u0349\u034A\u034B"+        "\u034C\u034D\u034E\u034F\u0350\u0351\u0352\u0353"+        "\u0354\u0355\u0356\u0357\u0358\u0359\u035A\u035B"+        "\u035C\u035D\u035E\u035F\u0360\u0361\u0362\u0363"+        "\u0364\u0365\u0366\u0367\u0368\u0369\u036A\u036B"+        "\u036C\u036D\u036E\u036F\u0370\u0371\u0372\u0373"+        "\u0374\u0375\u0376\u0377\u0378\u0379\u037A\u037B"+        "\u037C\u037D\u037E\u037F\u0380\u0381\u0382\u0383"+        "\u0384\u0385\u0386\u0387\u0388\u0389\u038A\u038B"+        "\u038C\u038D\u038E\u038F\u0390\u03A2\u03AA\u03AB"+        "\u03AC\u03AD\u03AE\u03AF\u03B0\u03C2\u03CA\u03CB"+        "\u03CC\u03CD\u03CE\u03CF\u03D0\u03D1\u03D2\u03D3"+        "\u03D4\u03D5\u03D6\u03D7\u03D8\u03D9\u03DA\u03DB"+        "\u03DC\u03DD\u03DE\u03DF\u03E0\u03E1\u03E2\u03E3"+        "\u03E4\u03E5\u03E6\u03E7\u03E8\u03E9\u03EA\u03EB"+        "\u03EC\u03ED\u03EE\u03EF\u03F0\u03F1\u03F2\u03F3"+        "\u03F4\u03F5\u03F6\u03F7\u03F8\u03F9\u03FA\u03FB"+        "\u03FC\u03FD\u03FE\u03FF\u0400\u0402\u0403\u0404"+        "\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C"+        "\u040D\u040E\u040F\u0450\u0452\u0453\u0454\u0455"+        "\u0456\u0457\u0458\u0459\u045A\u045B\u045C\u045D"+        "\u045E\u045F\u0460\u0461\u0462\u0463\u0464\u0465"+        "\u0466\u0467\u0468\u0469\u046A\u046B\u046C\u046D"+        "\u046E\u046F\u0470\u0471\u0472\u0473\u0474\u0475"+        "\u0476\u0477\u0478\u0479\u047A\u047B\u047C\u047D"+        "\u047E\u047F\u0480\u0481\u0482\u0483\u0484\u0485"+        "\u0486\u0487\u0488\u0489\u048A\u048B\u048C\u048D"+        "\u048E\u048F\u0490\u0491\u0492\u0493\u0494\u0495"+        "\u0496\u0497\u0498\u0499\u049A\u049B\u049C\u049D"+        "\u049E\u049F\u04A0\u04A1\u04A2\u04A3\u04A4\u04A5"+        "\u04A6\u04A7\u04A8\u04A9\u04AA\u04AB\u04AC\u04AD"+        "\u04AE\u04AF\u04B0\u04B1\u04B2\u04B3\u04B4\u04B5"+        "\u04B6\u04B7\u04B8\u04B9\u04BA\u04BB\u04BC\u04BD"+        "\u04BE\u04BF\u04C0\u04C1\u04C2\u04C3\u04C4\u04C5"+        "\u04C6\u04C7\u04C8\u04C9\u04CA\u04CB\u04CC\u04CD"+        "\u04CE\u04CF\u04D0\u04D1\u04D2\u04D3\u04D4\u04D5"+        "\u04D6\u04D7\u04D8\u04D9\u04DA\u04DB\u04DC\u04DD"+        "\u04DE\u04DF\u04E0\u04E1\u04E2\u04E3\u04E4\u04E5"+        "\u04E6\u04E7\u04E8\u04E9\u04EA\u04EB\u04EC\u04ED"+        "\u04EE\u04EF\u04F0\u04F1\u04F2\u04F3\u04F4\u04F5"+        "\u04F6\u04F7\u04F8\u04F9\u04FA\u04FB\u04FC\u04FD"+        "\u04FE\u04FF\u0500\u0501\u0502\u0503\u0504\u0505"+        "\u0506\u0507\u0508\u0509\u050A\u050B\u050C\u050D"+        "\u050E\u050F\u0510\u0511\u0512\u0513\u0514\u0515"+        "\u0516\u0517\u0518\u0519\u051A\u051B\u051C\u051D"+        "\u051E\u051F\u0520\u0521\u0522\u0523\u0524\u0525"+        "\u0526\u0527\u0528\u0529\u052A\u052B\u052C\u052D"+        "\u052E\u052F\u0530\u0531\u0532\u0533\u0534\u0535"+        "\u0536\u0537\u0538\u0539\u053A\u053B\u053C\u053D"+        "\u053E\u053F\u0540\u0541\u0542\u0543\u0544\u0545"+        "\u0546\u0547\u0548\u0549\u054A\u054B\u054C\u054D"+        "\u054E\u054F\u0550\u0551\u0552\u0553\u0554\u0555"+        "\u0556\u0557\u0558\u0559\u055A\u055B\u055C\u055D"+        "\u055E\u055F\u0560\u0561\u0562\u0563\u0564\u0565"+        "\u0566\u0567\u0568\u0569\u056A\u056B\u056C\u056D"+        "\u056E\u056F\u0570\u0571\u0572\u0573\u0574\u0575"+        "\u0576\u0577\u0578\u0579\u057A\u057B\u057C\u057D"+        "\u057E\u057F\u0580\u0581\u0582\u0583\u0584\u0585"+        "\u0586\u0587\u0588\u0589\u058A\u058B\u058C\u058D"+        "\u058E\u058F\u0590\u0591\u0592\u0593\u0594\u0595"+        "\u0596\u0597\u0598\u0599\u059A\u059B\u059C\u059D"+        "\u059E\u059F\u05A0\u05A1\u05A2\u05A3\u05A4\u05A5"+        "\u05A6\u05A7\u05A8\u05A9\u05AA\u05AB\u05AC\u05AD"+        "\u05AE\u05AF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5"+        "\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD"+        "\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05C4\u05C5"+        "\u05C6\u05C7\u05C8\u05C9\u05CA\u05CB\u05CC\u05CD"+        "\u05CE\u05CF\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5"+        "\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD"+        "\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5"+        "\u05E6\u05E7\u05E8\u05E9\u05EA\u05EB\u05EC\u05ED"+        "\u05EE\u05EF\u05F0\u05F1\u05F2\u05F3\u05F4\u05F5"+        "\u05F6\u05F7\u05F8\u05F9\u05FA\u05FB\u05FC\u05FD"+        "\u05FE\u05FF\u0600\u0601\u0602\u0603\u0604\u0605"+        "\u0606\u0607\u0608\u0609\u060A\u060B\u060C\u060D"+        "\u060E\u060F\u0610\u0611\u0612\u0613\u0614\u0615"+        "\u0616\u0617\u0618\u0619\u061A\u061B\u061C\u061D"+        "\u061E\u061F\u0620\u0621\u0622\u0623\u0624\u0625"+        "\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D"+        "\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635"+        "\u0636\u0637\u0638\u0639\u063A\u063B\u063C\u063D"+        "\u063E\u063F\u0640\u0641\u0642\u0643\u0644\u0645"+        "\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D"+        "\u064E\u064F\u0650\u0651\u0652\u0653\u0654\u0655"+        "\u0656\u0657\u0658\u0659\u065A\u065B\u065C\u065D"+        "\u065E\u065F\u0660\u0661\u0662\u0663\u0664\u0665"+        "\u0666\u0667\u0668\u0669\u066A\u066B\u066C\u066D"+        "\u066E\u066F\u0670\u0671\u0672\u0673\u0674\u0675"+        "\u0676\u0677\u0678\u0679\u067A\u067B\u067C\u067D"+        "\u067E\u067F\u0680\u0681\u0682\u0683\u0684\u0685"+        "\u0686\u0687\u0688\u0689\u068A\u068B\u068C\u068D"+        "\u068E\u068F\u0690\u0691\u0692\u0693\u0694\u0695"+        "\u0696\u0697\u0698\u0699\u069A\u069B\u069C\u069D"+        "\u069E\u069F\u06A0\u06A1\u06A2\u06A3\u06A4\u06A5"+        "\u06A6\u06A7\u06A8\u06A9\u06AA\u06AB\u06AC\u06AD"+        "\u06AE\u06AF\u06B0\u06B1\u06B2\u06B3\u06B4\u06B5"+        "\u06B6\u06B7\u06B8\u06B9\u06BA\u06BB\u06BC\u06BD"+        "\u06BE\u06BF\u06C0\u06C1\u06C2\u06C3\u06C4\u06C5"+        "\u06C6\u06C7\u06C8\u06C9\u06CA\u06CB\u06CC\u06CD"+        "\u06CE\u06CF\u06D0\u06D1\u06D2\u06D3\u06D4\u06D5"+        "\u06D6\u06D7\u06D8\u06D9\u06DA\u06DB\u06DC\u06DD"+        "\u06DE\u06DF\u06E0\u06E1\u06E2\u06E3\u06E4\u06E5"+        "\u06E6\u06E7\u06E8\u06E9\u06EA\u06EB\u06EC\u06ED"+        "\u06EE\u06EF\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5"+        "\u06F6\u06F7\u06F8\u06F9\u06FA\u06FB\u06FC\u06FD"+        "\u06FE\u06FF\u0700\u0701\u0702\u0703\u0704\u0705"+        "\u0706\u0707\u0708\u0709\u070A\u070B\u070C\u070D"+        "\u070E\u070F\u0710\u0711\u0712\u0713\u0714\u0715"+        "\u0716\u0717\u0718\u0719\u071A\u071B\u071C\u071D"+        "\u071E\u071F\u0720\u0721\u0722\u0723\u0724\u0725"+        "\u0726\u0727\u0728\u0729\u072A\u072B\u072C\u072D"+        "\u072E\u072F\u0730\u0731\u0732\u0733\u0734\u0735"+        "\u0736\u0737\u0738\u0739\u073A\u073B\u073C\u073D"+        "\u073E\u073F\u0740\u0741\u0742\u0743\u0744\u0745"+        "\u0746\u0747\u0748\u0749\u074A\u074B\u074C\u074D"+        "\u074E\u074F\u0750\u0751\u0752\u0753\u0754\u0755"+        "\u0756\u0757\u0758\u0759\u075A\u075B\u075C\u075D"+        "\u075E\u075F\u0760\u0761\u0762\u0763\u0764\u0765"+        "\u0766\u0767\u0768\u0769\u076A\u076B\u076C\u076D"+        "\u076E\u076F\u0770\u0771\u0772\u0773\u0774\u0775"+        "\u0776\u0777\u0778\u0779\u077A\u077B\u077C\u077D"+        "\u077E\u077F\u0780\u0781\u0782\u0783\u0784\u0785"+        "\u0786\u0787\u0788\u0789\u078A\u078B\u078C\u078D"+        "\u078E\u078F\u0790\u0791\u0792\u0793\u0794\u0795"+        "\u0796\u0797\u0798\u0799\u079A\u079B\u079C\u079D"+        "\u079E\u079F\u07A0\u07A1\u07A2\u07A3\u07A4\u07A5"+        "\u07A6\u07A7\u07A8\u07A9\u07AA\u07AB\u07AC\u07AD"+        "\u07AE\u07AF\u07B0\u07B1\u07B2\u07B3\u07B4\u07B5"+        "\u07B6\u07B7\u07B8\u07B9\u07BA\u07BB\u07BC\u07BD"+        "\u07BE\u07BF\u07C0\u07C1\u07C2\u07C3\u07C4\u07C5"+        "\u07C6\u07C7\u07C8\u07C9\u07CA\u07CB\u07CC\u07CD"+        "\u07CE\u07CF\u07D0\u07D1\u07D2\u07D3\u07D4\u07D5"+        "\u07D6\u07D7\u07D8\u07D9\u07DA\u07DB\u07DC\u07DD"+        "\u07DE\u07DF\u07E0\u07E1\u07E2\u07E3\u07E4\u07E5"+        "\u07E6\u07E7\u07E8\u07E9\u07EA\u07EB\u07EC\u07ED"+        "\u07EE\u07EF\u07F0\u07F1\u07F2\u07F3\u07F4\u07F5"+        "\u07F6\u07F7\u07F8\u07F9\u07FA\u07FB\u07FC\u07FD"+        "\u07FE\u07FF\u0800\u0801\u0802\u0803\u0804\u0805"+        "\u0806\u0807\u0808\u0809\u080A\u080B\u080C\u080D"+        "\u080E\u080F\u0810\u0811\u0812\u0813\u0814\u0815"+        "\u0816\u0817\u0818\u0819\u081A\u081B\u081C\u081D"+        "\u081E\u081F\u0820\u0821\u0822\u0823\u0824\u0825"+        "\u0826\u0827\u0828\u0829\u082A\u082B\u082C\u082D"+        "\u082E\u082F\u0830\u0831\u0832\u0833\u0834\u0835"+        "\u0836\u0837\u0838\u0839\u083A\u083B\u083C\u083D"+        "\u083E\u083F\u0840\u0841\u0842\u0843\u0844\u0845"+        "\u0846\u0847\u0848\u0849\u084A\u084B\u084C\u084D"+        "\u084E\u084F\u0850\u0851\u0852\u0853\u0854\u0855"+        "\u0856\u0857\u0858\u0859\u085A\u085B\u085C\u085D"+        "\u085E\u085F\u0860\u0861\u0862\u0863\u0864\u0865"+        "\u0866\u0867\u0868\u0869\u086A\u086B\u086C\u086D"+        "\u086E\u086F\u0870\u0871\u0872\u0873\u0874\u0875"+        "\u0876\u0877\u0878\u0879\u087A\u087B\u087C\u087D"+        "\u087E\u087F\u0880\u0881\u0882\u0883\u0884\u0885"+        "\u0886\u0887\u0888\u0889\u088A\u088B\u088C\u088D"+        "\u088E\u088F\u0890\u0891\u0892\u0893\u0894\u0895"+        "\u0896\u0897\u0898\u0899\u089A\u089B\u089C\u089D"+        "\u089E\u089F\u08A0\u08A1\u08A2\u08A3\u08A4\u08A5"+        "\u08A6\u08A7\u08A8\u08A9\u08AA\u08AB\u08AC\u08AD"+        "\u08AE\u08AF\u08B0\u08B1\u08B2\u08B3\u08B4\u08B5"+        "\u08B6\u08B7\u08B8\u08B9\u08BA\u08BB\u08BC\u08BD"+        "\u08BE\u08BF\u08C0\u08C1\u08C2\u08C3\u08C4\u08C5"+        "\u08C6\u08C7\u08C8\u08C9\u08CA\u08CB\u08CC\u08CD"+        "\u08CE\u08CF\u08D0\u08D1\u08D2\u08D3\u08D4\u08D5"+        "\u08D6\u08D7\u08D8\u08D9\u08DA\u08DB\u08DC\u08DD"+        "\u08DE\u08DF\u08E0\u08E1\u08E2\u08E3\u08E4\u08E5"+        "\u08E6\u08E7\u08E8\u08E9\u08EA\u08EB\u08EC\u08ED"+        "\u08EE\u08EF\u08F0\u08F1\u08F2\u08F3\u08F4\u08F5"+        "\u08F6\u08F7\u08F8\u08F9\u08FA\u08FB\u08FC\u08FD"+        "\u08FE\u08FF\u0900\u0901\u0902\u0903\u0904\u0905"+        "\u0906\u0907\u0908\u0909\u090A\u090B\u090C\u090D"+        "\u090E\u090F\u0910\u0911\u0912\u0913\u0914\u0915"+        "\u0916\u0917\u0918\u0919\u091A\u091B\u091C\u091D"+        "\u091E\u091F\u0920\u0921\u0922\u0923\u0924\u0925"+        "\u0926\u0927\u0928\u0929\u092A\u092B\u092C\u092D"+        "\u092E\u092F\u0930\u0931\u0932\u0933\u0934\u0935"+        "\u0936\u0937\u0938\u0939\u093A\u093B\u093C\u093D"+        "\u093E\u093F\u0940\u0941\u0942\u0943\u0944\u0945"+        "\u0946\u0947\u0948\u0949\u094A\u094B\u094C\u094D"+        "\u094E\u094F\u0950\u0951\u0952\u0953\u0954\u0955"+        "\u0956\u0957\u0958\u0959\u095A\u095B\u095C\u095D"+        "\u095E\u095F\u0960\u0961\u0962\u0963\u0964\u0965"+        "\u0966\u0967\u0968\u0969\u096A\u096B\u096C\u096D"+        "\u096E\u096F\u0970\u0971\u0972\u0973\u0974\u0975"+        "\u0976\u0977\u0978\u0979\u097A\u097B\u097C\u097D"+        "\u097E\u097F\u0980\u0981\u0982\u0983\u0984\u0985"+        "\u0986\u0987\u0988\u0989\u098A\u098B\u098C\u098D"+        "\u098E\u098F\u0990\u0991\u0992\u0993\u0994\u0995"+        "\u0996\u0997\u0998\u0999\u099A\u099B\u099C\u099D"+        "\u099E\u099F\u09A0\u09A1\u09A2\u09A3\u09A4\u09A5"+        "\u09A6\u09A7\u09A8\u09A9\u09AA\u09AB\u09AC\u09AD"+        "\u09AE\u09AF\u09B0\u09B1\u09B2\u09B3\u09B4\u09B5"+        "\u09B6\u09B7\u09B8\u09B9\u09BA\u09BB\u09BC\u09BD"+        "\u09BE\u09BF\u09C0\u09C1\u09C2\u09C3\u09C4\u09C5"+        "\u09C6\u09C7\u09C8\u09C9\u09CA\u09CB\u09CC\u09CD"+        "\u09CE\u09CF\u09D0\u09D1\u09D2\u09D3\u09D4\u09D5"+        "\u09D6\u09D7\u09D8\u09D9\u09DA\u09DB\u09DC\u09DD"+        "\u09DE\u09DF\u09E0\u09E1\u09E2\u09E3\u09E4\u09E5"+        "\u09E6\u09E7\u09E8\u09E9\u09EA\u09EB\u09EC\u09ED"+        "\u09EE\u09EF\u09F0\u09F1\u09F2\u09F3\u09F4\u09F5"+        "\u09F6\u09F7\u09F8\u09F9\u09FA\u09FB\u09FC\u09FD"+        "\u09FE\u09FF\u0A00\u0A01\u0A02\u0A03\u0A04\u0A05"+        "\u0A06\u0A07\u0A08\u0A09\u0A0A\u0A0B\u0A0C\u0A0D"+        "\u0A0E\u0A0F\u0A10\u0A11\u0A12\u0A13\u0A14\u0A15"+        "\u0A16\u0A17\u0A18\u0A19\u0A1A\u0A1B\u0A1C\u0A1D"+        "\u0A1E\u0A1F\u0A20\u0A21\u0A22\u0A23\u0A24\u0A25"+        "\u0A26\u0A27\u0A28\u0A29\u0A2A\u0A2B\u0A2C\u0A2D"+        "\u0A2E\u0A2F\u0A30\u0A31\u0A32\u0A33\u0A34\u0A35"+        "\u0A36\u0A37\u0A38\u0A39\u0A3A\u0A3B\u0A3C\u0A3D"+        "\u0A3E\u0A3F\u0A40\u0A41\u0A42\u0A43\u0A44\u0A45"+        "\u0A46\u0A47\u0A48\u0A49\u0A4A\u0A4B\u0A4C\u0A4D"+        "\u0A4E\u0A4F\u0A50\u0A51\u0A52\u0A53\u0A54\u0A55"+        "\u0A56\u0A57\u0A58\u0A59\u0A5A\u0A5B\u0A5C\u0A5D"+        "\u0A5E\u0A5F\u0A60\u0A61\u0A62\u0A63\u0A64\u0A65"+        "\u0A66\u0A67\u0A68\u0A69\u0A6A\u0A6B\u0A6C\u0A6D"+        "\u0A6E\u0A6F\u0A70\u0A71\u0A72\u0A73\u0A74\u0A75"+        "\u0A76\u0A77\u0A78\u0A79\u0A7A\u0A7B\u0A7C\u0A7D"+        "\u0A7E\u0A7F\u0A80\u0A81\u0A82\u0A83\u0A84\u0A85"+        "\u0A86\u0A87\u0A88\u0A89\u0A8A\u0A8B\u0A8C\u0A8D"+        "\u0A8E\u0A8F\u0A90\u0A91\u0A92\u0A93\u0A94\u0A95"+        "\u0A96\u0A97\u0A98\u0A99\u0A9A\u0A9B\u0A9C\u0A9D"+        "\u0A9E\u0A9F\u0AA0\u0AA1\u0AA2\u0AA3\u0AA4\u0AA5"+        "\u0AA6\u0AA7\u0AA8\u0AA9\u0AAA\u0AAB\u0AAC\u0AAD"+        "\u0AAE\u0AAF\u0AB0\u0AB1\u0AB2\u0AB3\u0AB4\u0AB5"+        "\u0AB6\u0AB7\u0AB8\u0AB9\u0ABA\u0ABB\u0ABC\u0ABD"+        "\u0ABE\u0ABF\u0AC0\u0AC1\u0AC2\u0AC3\u0AC4\u0AC5"+        "\u0AC6\u0AC7\u0AC8\u0AC9\u0ACA\u0ACB\u0ACC\u0ACD"+        "\u0ACE\u0ACF\u0AD0\u0AD1\u0AD2\u0AD3\u0AD4\u0AD5"+        "\u0AD6\u0AD7\u0AD8\u0AD9\u0ADA\u0ADB\u0ADC\u0ADD"+        "\u0ADE\u0ADF\u0AE0\u0AE1\u0AE2\u0AE3\u0AE4\u0AE5"+        "\u0AE6\u0AE7\u0AE8\u0AE9\u0AEA\u0AEB\u0AEC\u0AED"+        "\u0AEE\u0AEF\u0AF0\u0AF1\u0AF2\u0AF3\u0AF4\u0AF5"+        "\u0AF6\u0AF7\u0AF8\u0AF9\u0AFA\u0AFB\u0AFC\u0AFD"+        "\u0AFE\u0AFF\u0B00\u0B01\u0B02\u0B03\u0B04\u0B05"+        "\u0B06\u0B07\u0B08\u0B09\u0B0A\u0B0B\u0B0C\u0B0D"+        "\u0B0E\u0B0F\u0B10\u0B11\u0B12\u0B13\u0B14\u0B15"+        "\u0B16\u0B17\u0B18\u0B19\u0B1A\u0B1B\u0B1C\u0B1D"+        "\u0B1E\u0B1F\u0B20\u0B21\u0B22\u0B23\u0B24\u0B25"+        "\u0B26\u0B27\u0B28\u0B29\u0B2A\u0B2B\u0B2C\u0B2D"+        "\u0B2E\u0B2F\u0B30\u0B31\u0B32\u0B33\u0B34\u0B35"+        "\u0B36\u0B37\u0B38\u0B39\u0B3A\u0B3B\u0B3C\u0B3D"+        "\u0B3E\u0B3F\u0B40\u0B41\u0B42\u0B43\u0B44\u0B45"+        "\u0B46\u0B47\u0B48\u0B49\u0B4A\u0B4B\u0B4C\u0B4D"+        "\u0B4E\u0B4F\u0B50\u0B51\u0B52\u0B53\u0B54\u0B55"+        "\u0B56\u0B57\u0B58\u0B59\u0B5A\u0B5B\u0B5C\u0B5D"+        "\u0B5E\u0B5F\u0B60\u0B61\u0B62\u0B63\u0B64\u0B65"+        "\u0B66\u0B67\u0B68\u0B69\u0B6A\u0B6B\u0B6C\u0B6D"+        "\u0B6E\u0B6F\u0B70\u0B71\u0B72\u0B73\u0B74\u0B75"+        "\u0B76\u0B77\u0B78\u0B79\u0B7A\u0B7B\u0B7C\u0B7D"+        "\u0B7E\u0B7F\u0B80\u0B81\u0B82\u0B83\u0B84\u0B85"+        "\u0B86\u0B87\u0B88\u0B89\u0B8A\u0B8B\u0B8C\u0B8D"+        "\u0B8E\u0B8F\u0B90\u0B91\u0B92\u0B93\u0B94\u0B95"+        "\u0B96\u0B97\u0B98\u0B99\u0B9A\u0B9B\u0B9C\u0B9D"+        "\u0B9E\u0B9F\u0BA0\u0BA1\u0BA2\u0BA3\u0BA4\u0BA5"+        "\u0BA6\u0BA7\u0BA8\u0BA9\u0BAA\u0BAB\u0BAC\u0BAD"+        "\u0BAE\u0BAF\u0BB0\u0BB1\u0BB2\u0BB3\u0BB4\u0BB5"+        "\u0BB6\u0BB7\u0BB8\u0BB9\u0BBA\u0BBB\u0BBC\u0BBD"+        "\u0BBE\u0BBF\u0BC0\u0BC1\u0BC2\u0BC3\u0BC4\u0BC5"+        "\u0BC6\u0BC7\u0BC8\u0BC9\u0BCA\u0BCB\u0BCC\u0BCD"+        "\u0BCE\u0BCF\u0BD0\u0BD1\u0BD2\u0BD3\u0BD4\u0BD5"+        "\u0BD6\u0BD7\u0BD8\u0BD9\u0BDA\u0BDB\u0BDC\u0BDD"+        "\u0BDE\u0BDF\u0BE0\u0BE1\u0BE2\u0BE3\u0BE4\u0BE5"+        "\u0BE6\u0BE7\u0BE8\u0BE9\u0BEA\u0BEB\u0BEC\u0BED"+        "\u0BEE\u0BEF\u0BF0\u0BF1\u0BF2\u0BF3\u0BF4\u0BF5"+        "\u0BF6\u0BF7\u0BF8\u0BF9\u0BFA\u0BFB\u0BFC\u0BFD"+        "\u0BFE\u0BFF\u0C00\u0C01\u0C02\u0C03\u0C04\u0C05"+        "\u0C06\u0C07\u0C08\u0C09\u0C0A\u0C0B\u0C0C\u0C0D"+        "\u0C0E\u0C0F\u0C10\u0C11\u0C12\u0C13\u0C14\u0C15"+        "\u0C16\u0C17\u0C18\u0C19\u0C1A\u0C1B\u0C1C\u0C1D"+        "\u0C1E\u0C1F\u0C20\u0C21\u0C22\u0C23\u0C24\u0C25"+        "\u0C26\u0C27\u0C28\u0C29\u0C2A\u0C2B\u0C2C\u0C2D"+        "\u0C2E\u0C2F\u0C30\u0C31\u0C32\u0C33\u0C34\u0C35"+        "\u0C36\u0C37\u0C38\u0C39\u0C3A\u0C3B\u0C3C\u0C3D"+        "\u0C3E\u0C3F\u0C40\u0C41\u0C42\u0C43\u0C44\u0C45"+        "\u0C46\u0C47\u0C48\u0C49\u0C4A\u0C4B\u0C4C\u0C4D"+        "\u0C4E\u0C4F\u0C50\u0C51\u0C52\u0C53\u0C54\u0C55"+        "\u0C56\u0C57\u0C58\u0C59\u0C5A\u0C5B\u0C5C\u0C5D"+        "\u0C5E\u0C5F\u0C60\u0C61\u0C62\u0C63\u0C64\u0C65"+        "\u0C66\u0C67\u0C68\u0C69\u0C6A\u0C6B\u0C6C\u0C6D"+        "\u0C6E\u0C6F\u0C70\u0C71\u0C72\u0C73\u0C74\u0C75"+

Lines 1–500 of 12802.