| /* ==================================================================== |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ==================================================================== */ |
| |
| package org.apache.poi.hssf.record; |
| |
| import static org.junit.Assert.assertArrayEquals; |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertTrue; |
| import static org.junit.Assert.fail; |
| |
| import java.io.BufferedReader; |
| import java.io.ByteArrayInputStream; |
| import java.io.ByteArrayOutputStream; |
| import java.io.IOException; |
| import java.io.InputStream; |
| import java.io.InputStreamReader; |
| import java.util.Arrays; |
| import java.util.Iterator; |
| |
| import org.apache.poi.hssf.HSSFTestDataSamples; |
| import org.apache.poi.hssf.record.common.UnicodeString; |
| import org.apache.poi.hssf.usermodel.HSSFSheet; |
| import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
| import org.apache.poi.util.HexRead; |
| import org.apache.poi.util.LittleEndian; |
| import org.apache.poi.util.LocaleUtil; |
| import org.junit.Test; |
| |
| import junit.framework.AssertionFailedError; |
| |
| /** |
| * @author Marc Johnson (mjohnson at apache dot org) |
| * @author Glen Stampoultzis (glens at apache.org) |
| */ |
| public final class TestSSTRecord { |
| |
| /** |
| * decodes hexdump files and concatenates the results |
| * @param hexDumpFileNames names of sample files in the hssf test data directory |
| * @throws IOException |
| */ |
| private static byte[] concatHexDumps(String... hexDumpFileNames) throws IOException { |
| int nFiles = hexDumpFileNames.length; |
| ByteArrayOutputStream baos = new ByteArrayOutputStream(nFiles * 8228); |
| for (int i = 0; i < nFiles; i++) { |
| String sampleFileName = hexDumpFileNames[i]; |
| InputStream is = HSSFTestDataSamples.openSampleFileStream(sampleFileName); |
| BufferedReader br = new BufferedReader(new InputStreamReader(is, LocaleUtil.CHARSET_1252)); |
| |
| while (true) { |
| String line = br.readLine(); |
| if (line == null) { |
| break; |
| } |
| baos.write(HexRead.readFromString(line)); |
| } |
| is.close(); |
| } |
| |
| return baos.toByteArray(); |
| } |
| |
| /** |
| * @param rawData serialization of one {@link SSTRecord} and zero or more {@link ContinueRecord}s |
| */ |
| private static SSTRecord createSSTFromRawData(byte[] rawData) { |
| RecordInputStream in = new RecordInputStream(new ByteArrayInputStream(rawData)); |
| in.nextRecord(); |
| SSTRecord result = new SSTRecord(in); |
| assertEquals(0, in.remaining()); |
| assertTrue(!in.hasNextRecord()); |
| return result; |
| } |
| |
| /** |
| * SST is often split over several {@link ContinueRecord}s |
| * @throws IOException |
| */ |
| @Test |
| public void testContinuedRecord() throws IOException { |
| byte[] origData; |
| SSTRecord record; |
| byte[] ser_output; |
| |
| origData = concatHexDumps("BigSSTRecord", "BigSSTRecordCR"); |
| record = createSSTFromRawData(origData); |
| assertEquals( 1464, record.getNumStrings() ); |
| assertEquals( 688, record.getNumUniqueStrings() ); |
| assertEquals( 688, record.countStrings() ); |
| ser_output = record.serialize(); |
| assertArrayEquals(origData, ser_output); |
| |
| // testing based on new bug report |
| origData = concatHexDumps("BigSSTRecord2", "BigSSTRecord2CR1", "BigSSTRecord2CR2", "BigSSTRecord2CR3", |
| "BigSSTRecord2CR4", "BigSSTRecord2CR5", "BigSSTRecord2CR6", "BigSSTRecord2CR7"); |
| record = createSSTFromRawData(origData); |
| |
| |
| assertEquals( 158642, record.getNumStrings() ); |
| assertEquals( 5249, record.getNumUniqueStrings() ); |
| assertEquals( 5249, record.countStrings() ); |
| ser_output = record.serialize(); |
| // if (false) { // set true to observe make sure areSameSSTs() is working |
| // ser_output[11000] = 'X'; |
| // } |
| |
| SSTRecord rec2 = createSSTFromRawData(ser_output); |
| if (!areSameSSTs(record, rec2)) { |
| throw new AssertionFailedError("large SST re-serialized incorrectly"); |
| } |
| // if (false) { |
| // // TODO - trivial differences in ContinueRecord break locations |
| // // Sample data should be checked against what most recent Excel version produces. |
| // // maybe tweaks are required in ContinuableRecordOutput |
| // assertArrayEquals(origData, ser_output); |
| // } |
| } |
| |
| private boolean areSameSSTs(SSTRecord a, SSTRecord b) { |
| |
| if (a.getNumStrings() != b.getNumStrings()) { |
| return false; |
| } |
| int nElems = a.getNumUniqueStrings(); |
| if (nElems != b.getNumUniqueStrings()) { |
| return false; |
| } |
| for(int i=0; i<nElems; i++) { |
| if (!a.getString(i).equals(b.getString(i))) { |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| /** |
| * Test capability of handling mondo big strings |
| * |
| * @exception IOException |
| */ |
| @Test |
| public void testHugeStrings() { |
| SSTRecord record = new SSTRecord(); |
| byte[][] bstrings = |
| { |
| new byte[9000], new byte[7433], new byte[9002], |
| new byte[16998] |
| }; |
| UnicodeString[] strings = new UnicodeString[bstrings.length]; |
| int total_length = 0; |
| |
| for ( int k = 0; k < bstrings.length; k++ ) |
| { |
| Arrays.fill( bstrings[k], (byte) ( 'a' + k ) ); |
| strings[k] = new UnicodeString( new String(bstrings[k], LocaleUtil.CHARSET_1252) ); |
| record.addString( strings[k] ); |
| total_length += 3 + bstrings[k].length; |
| } |
| |
| // add overhead of SST record |
| total_length += 8; |
| |
| // add overhead of broken strings |
| total_length += 4; |
| |
| // add overhead of six records |
| total_length += ( 6 * 4 ); |
| byte[] content = new byte[record.getRecordSize()]; |
| |
| record.serialize( 0, content ); |
| assertEquals( total_length, content.length ); |
| |
| //Deserialize the record. |
| RecordInputStream recStream = new RecordInputStream(new ByteArrayInputStream(content)); |
| recStream.nextRecord(); |
| record = new SSTRecord(recStream); |
| |
| assertEquals( strings.length, record.getNumStrings() ); |
| assertEquals( strings.length, record.getNumUniqueStrings() ); |
| assertEquals( strings.length, record.countStrings() ); |
| for ( int k = 0; k < strings.length; k++ ) |
| { |
| assertEquals( strings[k], record.getString( k ) ); |
| } |
| record = new SSTRecord(); |
| bstrings[1] = new byte[bstrings[1].length - 1]; |
| for ( int k = 0; k < bstrings.length; k++ ) |
| { |
| if ( ( bstrings[k].length % 2 ) == 1 ) |
| { |
| Arrays.fill( bstrings[k], (byte) ( 'a' + k ) ); |
| strings[k] = new UnicodeString( new String(bstrings[k], LocaleUtil.CHARSET_1252) ); |
| } |
| else |
| { |
| char[] data = new char[bstrings[k].length / 2]; |
| |
| Arrays.fill( data, (char) ( '\u2122' + k ) ); |
| strings[k] = new UnicodeString(new String( data )); |
| } |
| record.addString( strings[k] ); |
| } |
| content = new byte[record.getRecordSize()]; |
| record.serialize( 0, content ); |
| total_length--; |
| assertEquals( total_length, content.length ); |
| |
| recStream = new RecordInputStream(new ByteArrayInputStream(content)); |
| recStream.nextRecord(); |
| record = new SSTRecord(recStream); |
| |
| assertEquals( strings.length, record.getNumStrings() ); |
| assertEquals( strings.length, record.getNumUniqueStrings() ); |
| assertEquals( strings.length, record.countStrings() ); |
| for ( int k = 0; k < strings.length; k++ ) |
| { |
| assertEquals( strings[k], record.getString( k ) ); |
| } |
| } |
| |
| /** |
| * test SSTRecord boundary conditions |
| */ |
| @Test |
| public void testSSTRecordBug() { |
| // create an SSTRecord and write a certain pattern of strings |
| // to it ... then serialize it and verify the content |
| SSTRecord record = new SSTRecord(); |
| |
| // the record will start with two integers, then this string |
| // ... that will eat up 16 of the 8224 bytes that the record |
| // can hold |
| record.addString( new UnicodeString("Hello") ); |
| |
| // now we have an additional 8208 bytes, which is an exact |
| // multiple of 16 bytes |
| long testvalue = 1000000000000L; |
| |
| for ( int k = 0; k < 2000; k++ ) |
| { |
| record.addString( new UnicodeString(String.valueOf( testvalue++ )) ); |
| } |
| byte[] content = new byte[record.getRecordSize()]; |
| |
| record.serialize( 0, content ); |
| assertEquals(8224, LittleEndian.getShort(content, 2)); |
| assertEquals(ContinueRecord.sid, LittleEndian.getShort(content, 8228)); |
| assertEquals(8224, LittleEndian.getShort(content, 8228+2)); |
| assertEquals( (byte) 13, content[4 + 8228] ); |
| assertEquals(ContinueRecord.sid, LittleEndian.getShort(content, 2*8228)); |
| assertEquals(8224, LittleEndian.getShort(content, 8228*2+2)); |
| assertEquals( (byte) 13, content[4 + 8228 * 2] ); |
| assertEquals(ContinueRecord.sid, LittleEndian.getShort(content, 3*8228)); |
| assertEquals( (byte) 13, content[4 + 8228 * 3] ); |
| } |
| |
| /** |
| * test simple addString |
| */ |
| @Test |
| public void testSimpleAddString() { |
| SSTRecord record = new SSTRecord(); |
| UnicodeString s1 = new UnicodeString("Hello world"); |
| |
| // \u2122 is the encoding of the trademark symbol ... |
| UnicodeString s2 = new UnicodeString("Hello world\u2122"); |
| |
| assertEquals( 0, record.addString( s1 ) ); |
| assertEquals( s1, record.getString( 0 ) ); |
| assertEquals( 1, record.countStrings() ); |
| assertEquals( 1, record.getNumStrings() ); |
| assertEquals( 1, record.getNumUniqueStrings() ); |
| assertEquals( 0, record.addString( s1 ) ); |
| assertEquals( s1, record.getString( 0 ) ); |
| assertEquals( 1, record.countStrings() ); |
| assertEquals( 2, record.getNumStrings() ); |
| assertEquals( 1, record.getNumUniqueStrings() ); |
| assertEquals( 1, record.addString( s2 ) ); |
| assertEquals( s2, record.getString( 1 ) ); |
| assertEquals( 2, record.countStrings() ); |
| assertEquals( 3, record.getNumStrings() ); |
| assertEquals( 2, record.getNumUniqueStrings() ); |
| Iterator<UnicodeString> iter = record.getStrings(); |
| |
| while ( iter.hasNext() ) { |
| UnicodeString ucs = iter.next(); |
| |
| if ( ucs.equals( s1 ) ) |
| { |
| assertEquals( (byte) 0, ucs.getOptionFlags() ); |
| } |
| else if ( ucs.equals( s2 ) ) |
| { |
| assertEquals( (byte) 1, ucs.getOptionFlags() ); |
| } |
| else |
| { |
| fail( "cannot match string: " + ucs.getString() ); |
| } |
| } |
| } |
| |
| /** |
| * test simple constructor |
| */ |
| @Test |
| public void testSimpleConstructor() { |
| SSTRecord record = new SSTRecord(); |
| |
| assertEquals( 0, record.getNumStrings() ); |
| assertEquals( 0, record.getNumUniqueStrings() ); |
| assertEquals( 0, record.countStrings() ); |
| byte[] output = record.serialize(); |
| byte[] expected = |
| { |
| (byte) record.getSid(), (byte) ( record.getSid() >> 8 ), |
| (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 0, |
| (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 |
| }; |
| |
| assertEquals( expected.length, output.length ); |
| for ( int k = 0; k < expected.length; k++ ) |
| { |
| assertEquals( String.valueOf( k ), expected[k], output[k] ); |
| } |
| } |
| |
| /** |
| * Tests that workbooks with rich text that duplicates a non rich text cell can be read and written. |
| */ |
| @Test |
| public void testReadWriteDuplicatedRichText1() throws Exception { |
| HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("duprich1.xls"); |
| HSSFSheet sheet = wb.getSheetAt( 1 ); |
| assertEquals( "01/05 (Wed)", sheet.getRow( 0 ).getCell(8 ).getStringCellValue() ); |
| assertEquals( "01/05 (Wed)", sheet.getRow( 1 ).getCell(8 ).getStringCellValue() ); |
| |
| HSSFTestDataSamples.writeOutAndReadBack(wb).close(); |
| |
| wb.close(); |
| |
| // test the second file. |
| wb = HSSFTestDataSamples.openSampleWorkbook("duprich2.xls"); |
| sheet = wb.getSheetAt( 0 ); |
| int row = 0; |
| assertEquals( "Testing", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() ); |
| assertEquals( "rich", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() ); |
| assertEquals( "text", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() ); |
| assertEquals( "strings", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() ); |
| assertEquals( "Testing", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() ); |
| assertEquals( "Testing", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() ); |
| |
| HSSFTestDataSamples.writeOutAndReadBack(wb).close(); |
| |
| wb.close(); |
| } |
| |
| /** |
| * hex dump from UnicodeStringFailCase1.xls atatched to Bugzilla 50779 |
| */ |
| private static final String data_50779_1 = |
| //Offset=0x00000612(1554) recno=71 sid=0x00FC size=0x2020(8224) |
| " FC 00 20 20 51 00 00 00 51 00 00 00 32 00" + |
| "05 10 00 00 00 42 30 44 30 46 30 48 30 4A 30 4B" + |
| "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" + |
| "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" + |
| "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" + |
| "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" + |
| "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" + |
| "30 30 00 30 00 30 00 31 00 01 00 0C 00 05 00 35" + |
| "00 00 00 00 00 00 00 4B 30 32 00 01 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 30 00 32 00" + |
| "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" + |
| "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" + |
| "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" + |
| "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" + |
| "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" + |
| "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" + |
| "00 30 00 30 00 33 00 32 00 01 42 30 44 30 46 30" + |
| "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" + |
| "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" + |
| "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" + |
| "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" + |
| "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" + |
| "8F 30 92 30 93 30 30 00 30 00 30 00 34 00 32 00" + |
| "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" + |
| "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" + |
| "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" + |
| "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" + |
| "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" + |
| "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" + |
| "00 30 00 35 00 32 00 01 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 30 00 36 00 32 00 01 42" + |
| "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" + |
| "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" + |
| "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" + |
| "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" + |
| "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" + |
| "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 30" + |
| "00 37 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" + |
| "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" + |
| "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" + |
| "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" + |
| "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" + |
| "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" + |
| "93 30 30 00 30 00 30 00 38 00 32 00 01 42 30 44" + |
| "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" + |
| "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" + |
| "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" + |
| "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" + |
| "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" + |
| "30 8D 30 8F 30 92 30 93 30 30 00 30 00 30 00 39" + |
| "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" + |
| "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" + |
| "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" + |
| "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" + |
| "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" + |
| "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" + |
| "30 00 30 00 31 00 30 00 32 00 01 42 30 44 30 46" + |
| "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" + |
| "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" + |
| "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" + |
| "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" + |
| "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" + |
| "30 8F 30 92 30 93 30 30 00 30 00 31 00 31 00 32" + |
| "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" + |
| "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" + |
| "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" + |
| "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" + |
| "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" + |
| "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" + |
| "30 00 31 00 32 00 32 00 01 42 30 44 30 46 30 48" + |
| "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" + |
| "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" + |
| "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" + |
| "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" + |
| "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" + |
| "30 92 30 93 30 30 00 30 00 31 00 33 00 32 00 01" + |
| "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" + |
| "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" + |
| "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" + |
| "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" + |
| "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" + |
| "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" + |
| "31 00 34 00 32 00 01 42 30 44 30 46 30 48 30 4A" + |
| "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" + |
| "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" + |
| "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" + |
| "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" + |
| "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" + |
| "30 93 30 30 00 30 00 31 00 35 00 32 00 01 42 30" + |
| "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" + |
| "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" + |
| "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" + |
| "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" + |
| "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" + |
| "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 31 00" + |
| "36 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" + |
| "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" + |
| "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" + |
| "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" + |
| "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" + |
| "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" + |
| "30 30 00 30 00 31 00 37 00 32 00 01 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 31 00 38 00" + |
| "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" + |
| "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" + |
| "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" + |
| "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" + |
| "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" + |
| "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" + |
| "00 30 00 31 00 39 00 32 00 01 42 30 44 30 46 30" + |
| "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" + |
| "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" + |
| "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" + |
| "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" + |
| "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" + |
| "8F 30 92 30 93 30 30 00 30 00 32 00 30 00 32 00" + |
| "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" + |
| "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" + |
| "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" + |
| "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" + |
| "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" + |
| "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" + |
| "00 32 00 31 00 32 00 01 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 32 00 32 00 32 00 01 42" + |
| "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" + |
| "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" + |
| "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" + |
| "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" + |
| "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" + |
| "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 32" + |
| "00 33 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" + |
| "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" + |
| "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" + |
| "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" + |
| "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" + |
| "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" + |
| "93 30 30 00 30 00 32 00 34 00 32 00 01 42 30 44" + |
| "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" + |
| "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" + |
| "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" + |
| "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" + |
| "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" + |
| "30 8D 30 8F 30 92 30 93 30 30 00 30 00 32 00 35" + |
| "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" + |
| "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" + |
| "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" + |
| "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" + |
| "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" + |
| "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" + |
| "30 00 30 00 32 00 36 00 32 00 01 42 30 44 30 46" + |
| "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" + |
| "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" + |
| "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" + |
| "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" + |
| "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" + |
| "30 8F 30 92 30 93 30 30 00 30 00 32 00 37 00 32" + |
| "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" + |
| "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" + |
| "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" + |
| "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" + |
| "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" + |
| "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" + |
| "30 00 32 00 38 00 32 00 01 42 30 44 30 46 30 48" + |
| "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" + |
| "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" + |
| "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" + |
| "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" + |
| "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" + |
| "30 92 30 93 30 30 00 30 00 32 00 39 00 32 00 01" + |
| "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" + |
| "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" + |
| "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" + |
| "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" + |
| "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" + |
| "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" + |
| "33 00 30 00 32 00 01 42 30 44 30 46 30 48 30 4A" + |
| "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" + |
| "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" + |
| "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" + |
| "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" + |
| "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" + |
| "30 93 30 30 00 30 00 33 00 31 00 32 00 01 42 30" + |
| "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" + |
| "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" + |
| "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" + |
| "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" + |
| "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" + |
| "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 33 00" + |
| "32 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" + |
| "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" + |
| "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" + |
| "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" + |
| "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" + |
| "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" + |
| "30 30 00 30 00 33 00 33 00 32 00 01 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 33 00 34 00" + |
| "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" + |
| "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" + |
| "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" + |
| "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" + |
| "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" + |
| "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" + |
| "00 30 00 33 00 35 00 32 00 01 42 30 44 30 46 30" + |
| "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" + |
| "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" + |
| "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" + |
| "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" + |
| "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" + |
| "8F 30 92 30 93 30 30 00 30 00 33 00 36 00 32 00" + |
| "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" + |
| "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" + |
| "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" + |
| "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" + |
| "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" + |
| "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" + |
| "00 33 00 37 00 32 00 01 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 33 00 38 00 32 00 01 42" + |
| "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" + |
| "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" + |
| "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" + |
| "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" + |
| "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" + |
| "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 33" + |
| "00 39 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" + |
| "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" + |
| "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" + |
| "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" + |
| "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" + |
| "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" + |
| "93 30 30 00 30 00 34 00 30 00 32 00 01 42 30 44" + |
| "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" + |
| "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" + |
| "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" + |
| "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" + |
| "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" + |
| "30 8D 30 8F 30 92 30 93 30 30 00 30 00 34 00 31" + |
| "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" + |
| "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" + |
| "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" + |
| "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" + |
| "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" + |
| "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" + |
| "30 00 30 00 34 00 32 00 32 00 01 42 30 44 30 46" + |
| "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" + |
| "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" + |
| "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" + |
| "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" + |
| "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" + |
| "30 8F 30 92 30 93 30 30 00 30 00 34 00 33 00 32" + |
| "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" + |
| "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" + |
| "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" + |
| "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" + |
| "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" + |
| "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" + |
| "30 00 34 00 34 00 32 00 01 42 30 44 30 46 30 48" + |
| "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" + |
| "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" + |
| "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" + |
| "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" + |
| "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" + |
| "30 92 30 93 30 30 00 30 00 34 00 35 00 32 00 01" + |
| "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" + |
| "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" + |
| "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" + |
| "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" + |
| "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" + |
| "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" + |
| "34 00 36 00 32 00 01 42 30 44 30 46 30 48 30 4A" + |
| "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" + |
| "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" + |
| "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" + |
| "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" + |
| "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" + |
| "30 93 30 30 00 30 00 34 00 37 00 32 00 01 42 30" + |
| "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" + |
| "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" + |
| "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" + |
| "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" + |
| "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" + |
| "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 34 00" + |
| "38 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" + |
| "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" + |
| "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" + |
| "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" + |
| "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" + |
| "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" + |
| "30 30 00 30 00 34 00 39 00 32 00 01 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 35 00 30 00" + |
| "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" + |
| "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" + |
| "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" + |
| "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" + |
| "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" + |
| "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" + |
| "00 30 00 35 00 31 00 32 00 01 42 30 44 30 46 30" + |
| "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" + |
| "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" + |
| "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" + |
| "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" + |
| "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" + |
| "8F 30 92 30 93 30 30 00 30 00 35 00 32 00 32 00" + |
| "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" + |
| "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" + |
| "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" + |
| "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" + |
| "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" + |
| "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" + |
| "00 35 00 33 00 32 00 01 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 35 00 34 00 32 00 01 42" + |
| "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" + |
| "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" + |
| "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" + |
| "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" + |
| "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" + |
| "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 35" + |
| "00 35 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" + |
| "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" + |
| "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" + |
| "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" + |
| "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" + |
| "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" + |
| "93 30 30 00 30 00 35 00 36 00 32 00 01 42 30 44" + |
| "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" + |
| "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" + |
| "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" + |
| "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" + |
| "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" + |
| "30 8D 30 8F 30 92 30 93 30 30 00 30 00 35 00 37" + |
| "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" + |
| "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" + |
| "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" + |
| "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" + |
| "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" + |
| "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" + |
| "30 00 30 00 35 00 38 00 32 00 01 42 30 44 30 46" + |
| "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" + |
| "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" + |
| "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" + |
| "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" + |
| "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" + |
| "30 8F 30 92 30 93 30 30 00 30 00 35 00 39 00 32" + |
| "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" + |
| "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" + |
| "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" + |
| "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" + |
| "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" + |
| "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" + |
| "30 00 36 00 30 00 32 00 01 42 30 44 30 46 30 48" + |
| "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" + |
| "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" + |
| "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" + |
| "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" + |
| "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" + |
| "30 92 30 93 30 30 00 30 00 36 00 31 00 32 00 01" + |
| "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" + |
| "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" + |
| "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" + |
| "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" + |
| "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" + |
| "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" + |
| "36 00 32 00 32 00 01 42 30 44 30 46 30 48 30 4A" + |
| "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" + |
| "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" + |
| "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" + |
| "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" + |
| "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" + |
| "30 93 30 30 00 30 00 36 00 33 00 32 00 01 42 30" + |
| "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" + |
| "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" + |
| "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" + |
| "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" + |
| "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" + |
| "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 36 00" + |
| "34 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" + |
| "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" + |
| "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" + |
| "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" + |
| "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" + |
| "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" + |
| "30 30 00 30 00 36 00 35 00 32 00 01 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 36 00 36 00" + |
| "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" + |
| "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" + |
| "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" + |
| "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" + |
| "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" + |
| "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" + |
| "00 30 00 36 00 37 00 32 00 01 42 30 44 30 46 30" + |
| "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" + |
| "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" + |
| "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" + |
| "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" + |
| "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" + |
| "8F 30 92 30 93 30 30 00 30 00 36 00 38 00 32 00" + |
| "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" + |
| "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" + |
| "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" + |
| "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" + |
| "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" + |
| "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" + |
| "00 36 00 39 00 32 00 01 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 37 00 30 00 32 00 01 42" + |
| "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" + |
| "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" + |
| "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" + |
| "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" + |
| "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" + |
| "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 37" + |
| "00 31 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" + |
| "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" + |
| "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" + |
| "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" + |
| "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" + |
| "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" + |
| "93 30 30 00 30 00 37 00 32 00 32 00 01 42 30 44" + |
| "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" + |
| "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" + |
| "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" + |
| "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" + |
| "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" + |
| "30 8D 30 8F 30 92 30 93 30 30 00 30 00 37 00 33" + |
| "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" + |
| "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" + |
| "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" + |
| "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" + |
| "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" + |
| "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" + |
| "30 00 30 00 37 00 34 00 32 00 01 42 30 44 30 46" + |
| "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" + |
| "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" + |
| "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" + |
| "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" + |
| "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" + |
| "30 8F 30 92 30 93 30 30 00 30 00 37 00 35 00 32" + |
| "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" + |
| "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" + |
| "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" + |
| "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" + |
| "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" + |
| "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" + |
| "30 00 37 00 36 00 32 00 01 42 30 44 30 46 30 48" + |
| "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" + |
| "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" + |
| "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" + |
| "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" + |
| "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" + |
| "30 92 30 93 30 30 00 30 00 37 00 37 00 32 00 01" + |
| "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" + |
| "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" + |
| "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" + |
| "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" + |
| "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" + |
| "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" + |
| "37 00 38 00 1F 00 05 B8 00 00 00 17 53 77 6D 53" + |
| "90 52 97 EE 68 0C 77 A9 5C 4B 62 0C 77 8F 79 F6" + |
| "5C 0C 77 03 68 28 67 0C 77 FC 57 89 73 0C 77 71" + |
| "67 AC 4E FD 90 43 53 49 84 0C 77 5E 79 48 59 DD" + |
| "5D 0C 77 77 95 CE 91 0C 77 01 00 B4 00 05 00 35" + |
| "00 0A 00 37 00 37 00 DB 30 C3 30 AB 30 A4 30 C9" + |
| "30 A6 30 A2 30 AA 30 E2 30 EA 30 B1 30 F3 30 A4" + |
| "30 EF 30 C6 30 B1 30 F3 30 D5 30 AF 30 B7 30 DE" + |
| "30 B1 30 F3 30 C8 30 C1 30 AE 30 B1 30 F3 30 B5" + |
| "30 A4 30 BF 30 DE 30 B1 30 F3 30 C8 30 A6 30 AD" + |
| "30 E7 30 A6 30 C8 " + |
| |
| // Offset=0x00002636(9782) recno=72 sid=0x003C size=0x0151(337) |
| " 3C 00 51 01 30 C1 30 D0 30 B1" + |
| "30 F3 30 AB 30 CA 30 AC 30 EF 30 B1 30 F3 30 CA" + |
| "30 AC 30 CE 30 B1 30 F3 30 00 00 00 00 03 00 06" + |
| "00 03 00 03 00 0C 00 06 00 03 00 11 00 09 00 03" + |
| "00 17 00 0C 00 03 00 1C 00 0F 00 03 00 22 00 12" + |
| "00 03 00 28 00 15 00 03 00 2C 00 18 00 04 00 32" + |
| "00 1C 00 03 00 32 00 05 10 00 00 00 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 37 00 39 00" + |
| "01 00 0C 00 05 00 35 00 00 00 00 00 00 00 00 00" + |
| "32 00 05 10 00 00 00 42 30 44 30 46 30 48 30 4A" + |
| "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" + |
| "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" + |
| "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" + |
| "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" + |
| "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" + |
| "30 93 30 30 00 30 00 38 00 30 00 01 00 0C 00 05" + |
| "00 35 00 00 00 00 00 00 00 4B 30 "; |
| |
| |
| /** |
| * hex dump from UnicodeStringFailCase2.xls atatched to Bugzilla 50779 |
| */ |
| private static final String data_50779_2 = |
| //"Offset=0x00000612(1554) recno=71 sid=0x00FC size=0x2020(8224)\n" + |
| " FC 00 20 20 51 00 00 00 51 00 00 00 32 00" + |
| "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" + |
| "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" + |
| "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" + |
| "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" + |
| "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" + |
| "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" + |
| "00 30 00 31 00 32 00 01 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 30 00 32 00 32 00 01 42" + |
| "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" + |
| "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" + |
| "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" + |
| "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" + |
| "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" + |
| "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 30" + |
| "00 33 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" + |
| "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" + |
| "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" + |
| "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" + |
| "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" + |
| "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" + |
| "93 30 30 00 30 00 30 00 34 00 32 00 01 42 30 44" + |
| "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" + |
| "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" + |
| "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" + |
| "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" + |
| "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" + |
| "30 8D 30 8F 30 92 30 93 30 30 00 30 00 30 00 35" + |
| "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" + |
| "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" + |
| "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" + |
| "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" + |
| "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" + |
| "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" + |
| "30 00 30 00 30 00 36 00 32 00 01 42 30 44 30 46" + |
| "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" + |
| "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" + |
| "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" + |
| "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" + |
| "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" + |
| "30 8F 30 92 30 93 30 30 00 30 00 30 00 37 00 32" + |
| "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" + |
| "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" + |
| "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" + |
| "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" + |
| "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" + |
| "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" + |
| "30 00 30 00 38 00 32 00 01 42 30 44 30 46 30 48" + |
| "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" + |
| "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" + |
| "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" + |
| "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" + |
| "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" + |
| "30 92 30 93 30 30 00 30 00 30 00 39 00 32 00 01" + |
| "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" + |
| "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" + |
| "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" + |
| "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" + |
| "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" + |
| "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" + |
| "31 00 30 00 32 00 01 42 30 44 30 46 30 48 30 4A" + |
| "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" + |
| "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" + |
| "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" + |
| "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" + |
| "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" + |
| "30 93 30 30 00 30 00 31 00 31 00 32 00 01 42 30" + |
| "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" + |
| "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" + |
| "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" + |
| "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" + |
| "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" + |
| "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 31 00" + |
| "32 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" + |
| "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" + |
| "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" + |
| "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" + |
| "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" + |
| "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" + |
| "30 30 00 30 00 31 00 33 00 32 00 01 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 31 00 34 00" + |
| "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" + |
| "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" + |
| "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" + |
| "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" + |
| "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" + |
| "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" + |
| "00 30 00 31 00 35 00 32 00 01 42 30 44 30 46 30" + |
| "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" + |
| "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" + |
| "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" + |
| "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" + |
| "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" + |
| "8F 30 92 30 93 30 30 00 30 00 31 00 36 00 32 00" + |
| "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" + |
| "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" + |
| "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" + |
| "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" + |
| "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" + |
| "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" + |
| "00 31 00 37 00 32 00 01 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 31 00 38 00 32 00 01 42" + |
| "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" + |
| "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" + |
| "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" + |
| "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" + |
| "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" + |
| "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 31" + |
| "00 39 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" + |
| "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" + |
| "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" + |
| "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" + |
| "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" + |
| "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" + |
| "93 30 30 00 30 00 32 00 30 00 32 00 01 42 30 44" + |
| "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" + |
| "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" + |
| "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" + |
| "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" + |
| "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" + |
| "30 8D 30 8F 30 92 30 93 30 30 00 30 00 32 00 31" + |
| "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" + |
| "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" + |
| "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" + |
| "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" + |
| "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" + |
| "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" + |
| "30 00 30 00 32 00 32 00 32 00 01 42 30 44 30 46" + |
| "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" + |
| "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" + |
| "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" + |
| "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" + |
| "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" + |
| "30 8F 30 92 30 93 30 30 00 30 00 32 00 33 00 32" + |
| "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" + |
| "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" + |
| "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" + |
| "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" + |
| "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" + |
| "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" + |
| "30 00 32 00 34 00 32 00 01 42 30 44 30 46 30 48" + |
| "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" + |
| "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" + |
| "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" + |
| "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" + |
| "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" + |
| "30 92 30 93 30 30 00 30 00 32 00 35 00 32 00 01" + |
| "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" + |
| "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" + |
| "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" + |
| "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" + |
| "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" + |
| "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" + |
| "32 00 36 00 32 00 01 42 30 44 30 46 30 48 30 4A" + |
| "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" + |
| "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" + |
| "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" + |
| "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" + |
| "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" + |
| "30 93 30 30 00 30 00 32 00 37 00 32 00 01 42 30" + |
| "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" + |
| "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" + |
| "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" + |
| "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" + |
| "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" + |
| "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 32 00" + |
| "38 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" + |
| "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" + |
| "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" + |
| "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" + |
| "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" + |
| "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" + |
| "30 30 00 30 00 32 00 39 00 32 00 01 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 33 00 30 00" + |
| "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" + |
| "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" + |
| "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" + |
| "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" + |
| "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" + |
| "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" + |
| "00 30 00 33 00 31 00 32 00 01 42 30 44 30 46 30" + |
| "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" + |
| "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" + |
| "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" + |
| "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" + |
| "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" + |
| "8F 30 92 30 93 30 30 00 30 00 33 00 32 00 32 00" + |
| "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" + |
| "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" + |
| "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" + |
| "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" + |
| "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" + |
| "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" + |
| "00 33 00 33 00 32 00 01 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 33 00 34 00 32 00 01 42" + |
| "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" + |
| "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" + |
| "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" + |
| "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" + |
| "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" + |
| "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 33" + |
| "00 35 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" + |
| "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" + |
| "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" + |
| "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" + |
| "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" + |
| "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" + |
| "93 30 30 00 30 00 33 00 36 00 32 00 01 42 30 44" + |
| "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" + |
| "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" + |
| "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" + |
| "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" + |
| "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" + |
| "30 8D 30 8F 30 92 30 93 30 30 00 30 00 33 00 37" + |
| "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" + |
| "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" + |
| "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" + |
| "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" + |
| "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" + |
| "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" + |
| "30 00 30 00 33 00 38 00 32 00 01 42 30 44 30 46" + |
| "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" + |
| "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" + |
| "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" + |
| "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" + |
| "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" + |
| "30 8F 30 92 30 93 30 30 00 30 00 33 00 39 00 32" + |
| "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" + |
| "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" + |
| "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" + |
| "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" + |
| "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" + |
| "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" + |
| "30 00 34 00 30 00 32 00 01 42 30 44 30 46 30 48" + |
| "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" + |
| "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" + |
| "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" + |
| "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" + |
| "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" + |
| "30 92 30 93 30 30 00 30 00 34 00 31 00 32 00 01" + |
| "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" + |
| "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" + |
| "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" + |
| "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" + |
| "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" + |
| "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" + |
| "34 00 32 00 32 00 01 42 30 44 30 46 30 48 30 4A" + |
| "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" + |
| "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" + |
| "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" + |
| "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" + |
| "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" + |
| "30 93 30 30 00 30 00 34 00 33 00 32 00 01 42 30" + |
| "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" + |
| "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" + |
| "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" + |
| "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" + |
| "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" + |
| "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 34 00" + |
| "34 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" + |
| "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" + |
| "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" + |
| "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" + |
| "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" + |
| "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" + |
| "30 30 00 30 00 34 00 35 00 32 00 01 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 34 00 36 00" + |
| "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" + |
| "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" + |
| "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" + |
| "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" + |
| "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" + |
| "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" + |
| "00 30 00 34 00 37 00 32 00 01 42 30 44 30 46 30" + |
| "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" + |
| "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" + |
| "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" + |
| "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" + |
| "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" + |
| "8F 30 92 30 93 30 30 00 30 00 34 00 38 00 32 00" + |
| "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" + |
| "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" + |
| "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" + |
| "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" + |
| "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" + |
| "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" + |
| "00 34 00 39 00 32 00 01 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 35 00 30 00 32 00 01 42" + |
| "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" + |
| "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" + |
| "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" + |
| "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" + |
| "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" + |
| "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 35" + |
| "00 31 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" + |
| "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" + |
| "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" + |
| "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" + |
| "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" + |
| "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" + |
| "93 30 30 00 30 00 35 00 32 00 32 00 01 42 30 44" + |
| "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" + |
| "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" + |
| "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" + |
| "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" + |
| "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" + |
| "30 8D 30 8F 30 92 30 93 30 30 00 30 00 35 00 33" + |
| "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" + |
| "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" + |
| "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" + |
| "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" + |
| "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" + |
| "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" + |
| "30 00 30 00 35 00 34 00 32 00 01 42 30 44 30 46" + |
| "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" + |
| "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" + |
| "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" + |
| "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" + |
| "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" + |
| "30 8F 30 92 30 93 30 30 00 30 00 35 00 35 00 32" + |
| "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" + |
| "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" + |
| "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" + |
| "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" + |
| "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" + |
| "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" + |
| "30 00 35 00 36 00 32 00 01 42 30 44 30 46 30 48" + |
| "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" + |
| "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" + |
| "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" + |
| "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" + |
| "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" + |
| "30 92 30 93 30 30 00 30 00 35 00 37 00 32 00 01" + |
| "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" + |
| "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" + |
| "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" + |
| "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" + |
| "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" + |
| "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" + |
| "35 00 38 00 32 00 01 42 30 44 30 46 30 48 30 4A" + |
| "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" + |
| "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" + |
| "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" + |
| "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" + |
| "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" + |
| "30 93 30 30 00 30 00 35 00 39 00 32 00 01 42 30" + |
| "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" + |
| "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" + |
| "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" + |
| "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" + |
| "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" + |
| "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 36 00" + |
| "30 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" + |
| "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" + |
| "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" + |
| "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" + |
| "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" + |
| "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" + |
| "30 30 00 30 00 36 00 31 00 32 00 01 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 36 00 32 00" + |
| "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" + |
| "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" + |
| "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" + |
| "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" + |
| "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" + |
| "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" + |
| "00 30 00 36 00 33 00 32 00 01 42 30 44 30 46 30" + |
| "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" + |
| "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" + |
| "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" + |
| "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" + |
| "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" + |
| "8F 30 92 30 93 30 30 00 30 00 36 00 34 00 32 00" + |
| "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" + |
| "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" + |
| "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" + |
| "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" + |
| "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" + |
| "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" + |
| "00 36 00 35 00 32 00 01 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 36 00 36 00 32 00 01 42" + |
| "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" + |
| "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" + |
| "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" + |
| "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" + |
| "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" + |
| "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 36" + |
| "00 37 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" + |
| "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" + |
| "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" + |
| "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" + |
| "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" + |
| "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" + |
| "93 30 30 00 30 00 36 00 38 00 32 00 01 42 30 44" + |
| "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" + |
| "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" + |
| "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" + |
| "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" + |
| "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" + |
| "30 8D 30 8F 30 92 30 93 30 30 00 30 00 36 00 39" + |
| "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" + |
| "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" + |
| "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" + |
| "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" + |
| "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" + |
| "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" + |
| "30 00 30 00 37 00 30 00 32 00 01 42 30 44 30 46" + |
| "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" + |
| "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" + |
| "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" + |
| "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" + |
| "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" + |
| "30 8F 30 92 30 93 30 30 00 30 00 37 00 31 00 32" + |
| "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" + |
| "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" + |
| "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" + |
| "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" + |
| "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" + |
| "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" + |
| "30 00 37 00 32 00 32 00 01 42 30 44 30 46 30 48" + |
| "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" + |
| "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" + |
| "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" + |
| "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" + |
| "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" + |
| "30 92 30 93 30 30 00 30 00 37 00 33 00 32 00 01" + |
| "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" + |
| "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" + |
| "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" + |
| "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" + |
| "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" + |
| "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" + |
| "37 00 34 00 32 00 01 42 30 44 30 46 30 48 30 4A" + |
| "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" + |
| "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" + |
| "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" + |
| "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" + |
| "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" + |
| "30 93 30 30 00 30 00 37 00 35 00 32 00 01 42 30" + |
| "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" + |
| "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" + |
| "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" + |
| "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" + |
| "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" + |
| "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 37 00" + |
| "36 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" + |
| "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" + |
| "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" + |
| "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" + |
| "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" + |
| "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" + |
| "30 30 00 30 00 37 00 37 00 32 00 01 42 30 44 30" + |
| "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" + |
| "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" + |
| "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" + |
| "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" + |
| "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" + |
| "8D 30 8F 30 92 30 93 30 30 00 30 00 37 00 38 00" + |
| "18 00 05 96 00 00 00 17 53 77 6D 53 90 52 97 EE" + |
| "68 0C 77 A9 5C 4B 62 0C 77 8F 79 F6 5C 0C 77 03" + |
| "68 28 67 0C 77 FC 57 89 73 0C 77 71 67 AC 4E FD" + |
| "90 43 53 49 84 0C 77 01 00 92 00 05 00 35 00 08" + |
| "00 2C 00 2C 00 DB 30 C3 30 AB 30 A4 30 C9 30 A6" + |
| "30 A2 30 AA 30 E2 30 EA 30 B1 30 F3 30 A4 30 EF" + |
| "30 C6 30 B1 30 F3 30 D5 30 AF 30 B7 30 DE 30 B1" + |
| "30 F3 30 C8 30 C1 30 AE 30 B1 30 F3 30 B5 30 A4" + |
| "30 BF 30 DE 30 B1 30 F3 30 C8 30 A6 30 AD 30 E7" + |
| "30 A6 30 C8 30 C1 30 D0 30 B1 30 F3 30 00 00 00" + |
| "00 03 00 06 00 03 00 03 00 0C 00 06 00 03 00 11" + |
| "00 09 00 03 00 17 " + |
| |
| //Offset=0x00002636(9782) recno=72 sid=0x003C size=0x010D(269) |
| " 3C 00 0D 01 00 0C 00 03 00 1C" + |
| "00 0F 00 03 00 22 00 12 00 03 00 28 00 15 00 03" + |
| "00 32 00 05 10 00 00 00 42 30 44 30 46 30 48 30" + |
| "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" + |
| "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" + |
| "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" + |
| "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" + |
| "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" + |
| "92 30 93 30 30 00 30 00 37 00 39 00 01 00 0C 00" + |
| "05 00 35 00 00 00 00 00 00 00 00 00 32 00 05 10" + |
| "00 00 00 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" + |
| "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" + |
| "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" + |
| "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" + |
| "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" + |
| "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" + |
| "00 30 00 38 00 30 00 01 00 0C 00 05 00 35 00 00" + |
| "00 00 00 00 00 4B 30 "; |
| |
| |
| /** |
| * deep comparison of two SST records |
| */ |
| private static void assertRecordEquals(SSTRecord expected, SSTRecord actual){ |
| assertEquals("number of strings", expected.getNumStrings(), actual.getNumStrings()); |
| assertEquals("number of unique strings", expected.getNumUniqueStrings(), actual.getNumUniqueStrings()); |
| assertEquals("count of strings", expected.countStrings(), actual.countStrings()); |
| for ( int k = 0; k < expected.countStrings(); k++ ) { |
| org.apache.poi.hssf.record.common.UnicodeString us1 = expected.getString(k); |
| org.apache.poi.hssf.record.common.UnicodeString us2 = actual.getString(k); |
| |
| assertTrue("String at idx=" + k, us1.equals(us2)); |
| } |
| } |
| |
| @Test |
| public void test50779_1(){ |
| byte[] bytes = HexRead.readFromString(data_50779_1); |
| |
| RecordInputStream in = TestcaseRecordInputStream.create(bytes); |
| assertEquals(SSTRecord.sid, in.getSid()); |
| SSTRecord src = new SSTRecord(in); |
| assertEquals(81, src.getNumStrings()); |
| |
| byte[] serialized = src.serialize(); |
| |
| in = TestcaseRecordInputStream.create(serialized); |
| assertEquals(SSTRecord.sid, in.getSid()); |
| SSTRecord dst = new SSTRecord(in); |
| assertEquals(81, dst.getNumStrings()); |
| |
| assertRecordEquals(src, dst); |
| } |
| |
| @Test |
| public void test50779_2() { |
| byte[] bytes = HexRead.readFromString(data_50779_2); |
| |
| RecordInputStream in = TestcaseRecordInputStream.create(bytes); |
| assertEquals(SSTRecord.sid, in.getSid()); |
| SSTRecord src = new SSTRecord(in); |
| assertEquals(81, src.getNumStrings()); |
| |
| byte[] serialized = src.serialize(); |
| |
| in = TestcaseRecordInputStream.create(serialized); |
| assertEquals(SSTRecord.sid, in.getSid()); |
| SSTRecord dst = new SSTRecord(in); |
| assertEquals(81, dst.getNumStrings()); |
| |
| assertRecordEquals(src, dst); |
| } |
| |
| @Test |
| public void test57456() { |
| byte[] bytes = HexRead.readFromString("FC, 00, 08, 00, 00, 00, 00, 00, E1, 06, 00, 00"); |
| RecordInputStream in = TestcaseRecordInputStream.create(bytes); |
| assertEquals(SSTRecord.sid, in.getSid()); |
| SSTRecord src = new SSTRecord(in); |
| assertEquals(0, src.getNumStrings()); |
| assertEquals(0, src.getNumUniqueStrings()); |
| |
| } |
| } |