@ -4,7 +4,7 @@
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -116,7 +116,7 @@ namespace Mono.Cecil.Cil {
@@ -116,7 +116,7 @@ namespace Mono.Cecil.Cil {
readonly byte stack_behavior_push ;
public string Name {
get { return OpCodeNames . names [ op1 = = 0xff ? op2 : op2 + 2 5 6 ] ; }
get { return OpCodeNames . names [ ( int ) Code ] ; }
}
public int Size {
@ -132,7 +132,7 @@ namespace Mono.Cecil.Cil {
@@ -132,7 +132,7 @@ namespace Mono.Cecil.Cil {
}
public short Value {
get { return ( short ) ( ( op1 < < 8 ) | op2 ) ; }
get { return op1 = = 0xff ? op2 : ( short ) ( ( op1 < < 8 ) | op2 ) ; }
}
public Code Code {
@ -214,311 +214,242 @@ namespace Mono.Cecil.Cil {
@@ -214,311 +214,242 @@ namespace Mono.Cecil.Cil {
static class OpCodeNames {
internal static readonly string [ ] names = {
"nop" ,
"break" ,
"ldarg.0" ,
"ldarg.1" ,
"ldarg.2" ,
"ldarg.3" ,
"ldloc.0" ,
"ldloc.1" ,
"ldloc.2" ,
"ldloc.3" ,
"stloc.0" ,
"stloc.1" ,
"stloc.2" ,
"stloc.3" ,
"ldarg.s" ,
"ldarga.s" ,
"starg.s" ,
"ldloc.s" ,
"ldloca.s" ,
"stloc.s" ,
"ldnull" ,
"ldc.i4.m1" ,
"ldc.i4.0" ,
"ldc.i4.1" ,
"ldc.i4.2" ,
"ldc.i4.3" ,
"ldc.i4.4" ,
"ldc.i4.5" ,
"ldc.i4.6" ,
"ldc.i4.7" ,
"ldc.i4.8" ,
"ldc.i4.s" ,
"ldc.i4" ,
"ldc.i8" ,
"ldc.r4" ,
"ldc.r8" ,
null ,
"dup" ,
"pop" ,
"jmp" ,
"call" ,
"calli" ,
"ret" ,
"br.s" ,
"brfalse.s" ,
"brtrue.s" ,
"beq.s" ,
"bge.s" ,
"bgt.s" ,
"ble.s" ,
"blt.s" ,
"bne.un.s" ,
"bge.un.s" ,
"bgt.un.s" ,
"ble.un.s" ,
"blt.un.s" ,
"br" ,
"brfalse" ,
"brtrue" ,
"beq" ,
"bge" ,
"bgt" ,
"ble" ,
"blt" ,
"bne.un" ,
"bge.un" ,
"bgt.un" ,
"ble.un" ,
"blt.un" ,
"switch" ,
"ldind.i1" ,
"ldind.u1" ,
"ldind.i2" ,
"ldind.u2" ,
"ldind.i4" ,
"ldind.u4" ,
"ldind.i8" ,
"ldind.i" ,
"ldind.r4" ,
"ldind.r8" ,
"ldind.ref" ,
"stind.ref" ,
"stind.i1" ,
"stind.i2" ,
"stind.i4" ,
"stind.i8" ,
"stind.r4" ,
"stind.r8" ,
"add" ,
"sub" ,
"mul" ,
"div" ,
"div.un" ,
"rem" ,
"rem.un" ,
"and" ,
"or" ,
"xor" ,
"shl" ,
"shr" ,
"shr.un" ,
"neg" ,
"not" ,
"conv.i1" ,
"conv.i2" ,
"conv.i4" ,
"conv.i8" ,
"conv.r4" ,
"conv.r8" ,
"conv.u4" ,
"conv.u8" ,
"callvirt" ,
"cpobj" ,
"ldobj" ,
"ldstr" ,
"newobj" ,
"castclass" ,
"isinst" ,
"conv.r.un" ,
null ,
null ,
"unbox" ,
"throw" ,
"ldfld" ,
"ldflda" ,
"stfld" ,
"ldsfld" ,
"ldsflda" ,
"stsfld" ,
"stobj" ,
"conv.ovf.i1.un" ,
"conv.ovf.i2.un" ,
"conv.ovf.i4.un" ,
"conv.ovf.i8.un" ,
"conv.ovf.u1.un" ,
"conv.ovf.u2.un" ,
"conv.ovf.u4.un" ,
"conv.ovf.u8.un" ,
"conv.ovf.i.un" ,
"conv.ovf.u.un" ,
"box" ,
"newarr" ,
"ldlen" ,
"ldelema" ,
"ldelem.i1" ,
"ldelem.u1" ,
"ldelem.i2" ,
"ldelem.u2" ,
"ldelem.i4" ,
"ldelem.u4" ,
"ldelem.i8" ,
"ldelem.i" ,
"ldelem.r4" ,
"ldelem.r8" ,
"ldelem.ref" ,
"stelem.i" ,
"stelem.i1" ,
"stelem.i2" ,
"stelem.i4" ,
"stelem.i8" ,
"stelem.r4" ,
"stelem.r8" ,
"stelem.ref" ,
"ldelem.any" ,
"stelem.any" ,
"unbox.any" ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
"conv.ovf.i1" ,
"conv.ovf.u1" ,
"conv.ovf.i2" ,
"conv.ovf.u2" ,
"conv.ovf.i4" ,
"conv.ovf.u4" ,
"conv.ovf.i8" ,
"conv.ovf.u8" ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
"refanyval" ,
"ckfinite" ,
null ,
null ,
"mkrefany" ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
"ldtoken" ,
"conv.u2" ,
"conv.u1" ,
"conv.i" ,
"conv.ovf.i" ,
"conv.ovf.u" ,
"add.ovf" ,
"add.ovf.un" ,
"mul.ovf" ,
"mul.ovf.un" ,
"sub.ovf" ,
"sub.ovf.un" ,
"endfinally" ,
"leave" ,
"leave.s" ,
"stind.i" ,
"conv.u" ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
"prefix7" ,
"prefix6" ,
"prefix5" ,
"prefix4" ,
"prefix3" ,
"prefix2" ,
"prefix1" ,
"prefixref" ,
"arglist" ,
"ceq" ,
"cgt" ,
"cgt.un" ,
"clt" ,
"clt.un" ,
"ldftn" ,
"ldvirtftn" ,
null ,
"ldarg" ,
"ldarga" ,
"starg" ,
"ldloc" ,
"ldloca" ,
"stloc" ,
"localloc" ,
null ,
"endfilter" ,
"unaligned." ,
"volatile." ,
"tail." ,
"initobj" ,
"constrained." ,
"cpblk" ,
"initblk" ,
"no." , // added by spouliot to match Cecil existing definitions
"rethrow" ,
null ,
"sizeof" ,
"refanytype" ,
"readonly." , // added by spouliot to match Cecil existing definitions
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
null ,
} ;
internal static readonly string [ ] names ;
static OpCodeNames ( )
{
var table = new byte [ ] {
3 , 1 1 0 , 1 1 1 , 1 1 2 ,
5 , 9 8 , 1 1 4 , 1 0 1 , 9 7 , 1 0 7 ,
7 , 1 0 8 , 1 0 0 , 9 7 , 1 1 4 , 1 0 3 , 4 6 , 4 8 ,
7 , 1 0 8 , 1 0 0 , 9 7 , 1 1 4 , 1 0 3 , 4 6 , 4 9 ,
7 , 1 0 8 , 1 0 0 , 9 7 , 1 1 4 , 1 0 3 , 4 6 , 5 0 ,
7 , 1 0 8 , 1 0 0 , 9 7 , 1 1 4 , 1 0 3 , 4 6 , 5 1 ,
7 , 1 0 8 , 1 0 0 , 1 0 8 , 1 1 1 , 9 9 , 4 6 , 4 8 ,
7 , 1 0 8 , 1 0 0 , 1 0 8 , 1 1 1 , 9 9 , 4 6 , 4 9 ,
7 , 1 0 8 , 1 0 0 , 1 0 8 , 1 1 1 , 9 9 , 4 6 , 5 0 ,
7 , 1 0 8 , 1 0 0 , 1 0 8 , 1 1 1 , 9 9 , 4 6 , 5 1 ,
7 , 1 1 5 , 1 1 6 , 1 0 8 , 1 1 1 , 9 9 , 4 6 , 4 8 ,
7 , 1 1 5 , 1 1 6 , 1 0 8 , 1 1 1 , 9 9 , 4 6 , 4 9 ,
7 , 1 1 5 , 1 1 6 , 1 0 8 , 1 1 1 , 9 9 , 4 6 , 5 0 ,
7 , 1 1 5 , 1 1 6 , 1 0 8 , 1 1 1 , 9 9 , 4 6 , 5 1 ,
7 , 1 0 8 , 1 0 0 , 9 7 , 1 1 4 , 1 0 3 , 4 6 , 1 1 5 ,
8 , 1 0 8 , 1 0 0 , 9 7 , 1 1 4 , 1 0 3 , 9 7 , 4 6 , 1 1 5 ,
7 , 1 1 5 , 1 1 6 , 9 7 , 1 1 4 , 1 0 3 , 4 6 , 1 1 5 ,
7 , 1 0 8 , 1 0 0 , 1 0 8 , 1 1 1 , 9 9 , 4 6 , 1 1 5 ,
8 , 1 0 8 , 1 0 0 , 1 0 8 , 1 1 1 , 9 9 , 9 7 , 4 6 , 1 1 5 ,
7 , 1 1 5 , 1 1 6 , 1 0 8 , 1 1 1 , 9 9 , 4 6 , 1 1 5 ,
6 , 1 0 8 , 1 0 0 , 1 1 0 , 1 1 7 , 1 0 8 , 1 0 8 ,
9 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 1 0 9 , 4 9 ,
8 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 4 8 ,
8 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 4 9 ,
8 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 5 0 ,
8 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 5 1 ,
8 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 5 2 ,
8 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 5 3 ,
8 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 5 4 ,
8 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 5 5 ,
8 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 5 6 ,
8 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 , 4 6 , 1 1 5 ,
6 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 2 ,
6 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 0 5 , 5 6 ,
6 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 1 4 , 5 2 ,
6 , 1 0 8 , 1 0 0 , 9 9 , 4 6 , 1 1 4 , 5 6 ,
3 , 1 0 0 , 1 1 7 , 1 1 2 ,
3 , 1 1 2 , 1 1 1 , 1 1 2 ,
3 , 1 0 6 , 1 0 9 , 1 1 2 ,
4 , 9 9 , 9 7 , 1 0 8 , 1 0 8 ,
5 , 9 9 , 9 7 , 1 0 8 , 1 0 8 , 1 0 5 ,
3 , 1 1 4 , 1 0 1 , 1 1 6 ,
4 , 9 8 , 1 1 4 , 4 6 , 1 1 5 ,
9 , 9 8 , 1 1 4 , 1 0 2 , 9 7 , 1 0 8 , 1 1 5 , 1 0 1 , 4 6 , 1 1 5 ,
8 , 9 8 , 1 1 4 , 1 1 6 , 1 1 4 , 1 1 7 , 1 0 1 , 4 6 , 1 1 5 ,
5 , 9 8 , 1 0 1 , 1 1 3 , 4 6 , 1 1 5 ,
5 , 9 8 , 1 0 3 , 1 0 1 , 4 6 , 1 1 5 ,
5 , 9 8 , 1 0 3 , 1 1 6 , 4 6 , 1 1 5 ,
5 , 9 8 , 1 0 8 , 1 0 1 , 4 6 , 1 1 5 ,
5 , 9 8 , 1 0 8 , 1 1 6 , 4 6 , 1 1 5 ,
8 , 9 8 , 1 1 0 , 1 0 1 , 4 6 , 1 1 7 , 1 1 0 , 4 6 , 1 1 5 ,
8 , 9 8 , 1 0 3 , 1 0 1 , 4 6 , 1 1 7 , 1 1 0 , 4 6 , 1 1 5 ,
8 , 9 8 , 1 0 3 , 1 1 6 , 4 6 , 1 1 7 , 1 1 0 , 4 6 , 1 1 5 ,
8 , 9 8 , 1 0 8 , 1 0 1 , 4 6 , 1 1 7 , 1 1 0 , 4 6 , 1 1 5 ,
8 , 9 8 , 1 0 8 , 1 1 6 , 4 6 , 1 1 7 , 1 1 0 , 4 6 , 1 1 5 ,
2 , 9 8 , 1 1 4 ,
7 , 9 8 , 1 1 4 , 1 0 2 , 9 7 , 1 0 8 , 1 1 5 , 1 0 1 ,
6 , 9 8 , 1 1 4 , 1 1 6 , 1 1 4 , 1 1 7 , 1 0 1 ,
3 , 9 8 , 1 0 1 , 1 1 3 ,
3 , 9 8 , 1 0 3 , 1 0 1 ,
3 , 9 8 , 1 0 3 , 1 1 6 ,
3 , 9 8 , 1 0 8 , 1 0 1 ,
3 , 9 8 , 1 0 8 , 1 1 6 ,
6 , 9 8 , 1 1 0 , 1 0 1 , 4 6 , 1 1 7 , 1 1 0 ,
6 , 9 8 , 1 0 3 , 1 0 1 , 4 6 , 1 1 7 , 1 1 0 ,
6 , 9 8 , 1 0 3 , 1 1 6 , 4 6 , 1 1 7 , 1 1 0 ,
6 , 9 8 , 1 0 8 , 1 0 1 , 4 6 , 1 1 7 , 1 1 0 ,
6 , 9 8 , 1 0 8 , 1 1 6 , 4 6 , 1 1 7 , 1 1 0 ,
6 , 1 1 5 , 1 1 9 , 1 0 5 , 1 1 6 , 9 9 , 1 0 4 ,
8 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 0 5 , 4 9 ,
8 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 1 7 , 4 9 ,
8 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 0 5 , 5 0 ,
8 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 1 7 , 5 0 ,
8 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 0 5 , 5 2 ,
8 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 1 7 , 5 2 ,
8 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 0 5 , 5 6 ,
7 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 0 5 ,
8 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 1 4 , 5 2 ,
8 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 1 4 , 5 6 ,
9 , 1 0 8 , 1 0 0 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 1 4 , 1 0 1 , 1 0 2 ,
9 , 1 1 5 , 1 1 6 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 1 4 , 1 0 1 , 1 0 2 ,
8 , 1 1 5 , 1 1 6 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 0 5 , 4 9 ,
8 , 1 1 5 , 1 1 6 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 0 5 , 5 0 ,
8 , 1 1 5 , 1 1 6 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 0 5 , 5 2 ,
8 , 1 1 5 , 1 1 6 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 0 5 , 5 6 ,
8 , 1 1 5 , 1 1 6 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 1 4 , 5 2 ,
8 , 1 1 5 , 1 1 6 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 1 4 , 5 6 ,
3 , 9 7 , 1 0 0 , 1 0 0 ,
3 , 1 1 5 , 1 1 7 , 9 8 ,
3 , 1 0 9 , 1 1 7 , 1 0 8 ,
3 , 1 0 0 , 1 0 5 , 1 1 8 ,
6 , 1 0 0 , 1 0 5 , 1 1 8 , 4 6 , 1 1 7 , 1 1 0 ,
3 , 1 1 4 , 1 0 1 , 1 0 9 ,
6 , 1 1 4 , 1 0 1 , 1 0 9 , 4 6 , 1 1 7 , 1 1 0 ,
3 , 9 7 , 1 1 0 , 1 0 0 ,
2 , 1 1 1 , 1 1 4 ,
3 , 1 2 0 , 1 1 1 , 1 1 4 ,
3 , 1 1 5 , 1 0 4 , 1 0 8 ,
3 , 1 1 5 , 1 0 4 , 1 1 4 ,
6 , 1 1 5 , 1 0 4 , 1 1 4 , 4 6 , 1 1 7 , 1 1 0 ,
3 , 1 1 0 , 1 0 1 , 1 0 3 ,
3 , 1 1 0 , 1 1 1 , 1 1 6 ,
7 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 0 5 , 4 9 ,
7 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 0 5 , 5 0 ,
7 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 0 5 , 5 2 ,
7 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 0 5 , 5 6 ,
7 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 4 , 5 2 ,
7 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 4 , 5 6 ,
7 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 7 , 5 2 ,
7 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 7 , 5 6 ,
8 , 9 9 , 9 7 , 1 0 8 , 1 0 8 , 1 1 8 , 1 0 5 , 1 1 4 , 1 1 6 ,
5 , 9 9 , 1 1 2 , 1 1 1 , 9 8 , 1 0 6 ,
5 , 1 0 8 , 1 0 0 , 1 1 1 , 9 8 , 1 0 6 ,
5 , 1 0 8 , 1 0 0 , 1 1 5 , 1 1 6 , 1 1 4 ,
6 , 1 1 0 , 1 0 1 , 1 1 9 , 1 1 1 , 9 8 , 1 0 6 ,
9 , 9 9 , 9 7 , 1 1 5 , 1 1 6 , 9 9 , 1 0 8 , 9 7 , 1 1 5 , 1 1 5 ,
6 , 1 0 5 , 1 1 5 , 1 0 5 , 1 1 0 , 1 1 5 , 1 1 6 ,
9 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 4 , 4 6 , 1 1 7 , 1 1 0 ,
5 , 1 1 7 , 1 1 0 , 9 8 , 1 1 1 , 1 2 0 ,
5 , 1 1 6 , 1 0 4 , 1 1 4 , 1 1 1 , 1 1 9 ,
5 , 1 0 8 , 1 0 0 , 1 0 2 , 1 0 8 , 1 0 0 ,
6 , 1 0 8 , 1 0 0 , 1 0 2 , 1 0 8 , 1 0 0 , 9 7 ,
5 , 1 1 5 , 1 1 6 , 1 0 2 , 1 0 8 , 1 0 0 ,
6 , 1 0 8 , 1 0 0 , 1 1 5 , 1 0 2 , 1 0 8 , 1 0 0 ,
7 , 1 0 8 , 1 0 0 , 1 1 5 , 1 0 2 , 1 0 8 , 1 0 0 , 9 7 ,
6 , 1 1 5 , 1 1 6 , 1 1 5 , 1 0 2 , 1 0 8 , 1 0 0 ,
5 , 1 1 5 , 1 1 6 , 1 1 1 , 9 8 , 1 0 6 ,
1 4 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 0 5 , 4 9 , 4 6 , 1 1 7 , 1 1 0 ,
1 4 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 0 5 , 5 0 , 4 6 , 1 1 7 , 1 1 0 ,
1 4 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 0 5 , 5 2 , 4 6 , 1 1 7 , 1 1 0 ,
1 4 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 0 5 , 5 6 , 4 6 , 1 1 7 , 1 1 0 ,
1 4 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 4 9 , 4 6 , 1 1 7 , 1 1 0 ,
1 4 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 5 0 , 4 6 , 1 1 7 , 1 1 0 ,
1 4 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 5 2 , 4 6 , 1 1 7 , 1 1 0 ,
1 4 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 5 6 , 4 6 , 1 1 7 , 1 1 0 ,
1 3 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 0 5 , 4 6 , 1 1 7 , 1 1 0 ,
1 3 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 4 6 , 1 1 7 , 1 1 0 ,
3 , 9 8 , 1 1 1 , 1 2 0 ,
6 , 1 1 0 , 1 0 1 , 1 1 9 , 9 7 , 1 1 4 , 1 1 4 ,
5 , 1 0 8 , 1 0 0 , 1 0 8 , 1 0 1 , 1 1 0 ,
7 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 9 7 ,
9 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 0 5 , 4 9 ,
9 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 1 7 , 4 9 ,
9 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 0 5 , 5 0 ,
9 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 1 7 , 5 0 ,
9 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 0 5 , 5 2 ,
9 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 1 7 , 5 2 ,
9 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 0 5 , 5 6 ,
8 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 0 5 ,
9 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 1 4 , 5 2 ,
9 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 1 4 , 5 6 ,
1 0 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 1 4 , 1 0 1 , 1 0 2 ,
8 , 1 1 5 , 1 1 6 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 0 5 ,
9 , 1 1 5 , 1 1 6 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 0 5 , 4 9 ,
9 , 1 1 5 , 1 1 6 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 0 5 , 5 0 ,
9 , 1 1 5 , 1 1 6 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 0 5 , 5 2 ,
9 , 1 1 5 , 1 1 6 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 0 5 , 5 6 ,
9 , 1 1 5 , 1 1 6 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 1 4 , 5 2 ,
9 , 1 1 5 , 1 1 6 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 1 4 , 5 6 ,
1 0 , 1 1 5 , 1 1 6 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 1 1 4 , 1 0 1 , 1 0 2 ,
1 0 , 1 0 8 , 1 0 0 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 9 7 , 1 1 0 , 1 2 1 ,
1 0 , 1 1 5 , 1 1 6 , 1 0 1 , 1 0 8 , 1 0 1 , 1 0 9 , 4 6 , 9 7 , 1 1 0 , 1 2 1 ,
9 , 1 1 7 , 1 1 0 , 9 8 , 1 1 1 , 1 2 0 , 4 6 , 9 7 , 1 1 0 , 1 2 1 ,
1 1 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 0 5 , 4 9 ,
1 1 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 4 9 ,
1 1 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 0 5 , 5 0 ,
1 1 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 5 0 ,
1 1 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 0 5 , 5 2 ,
1 1 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 5 2 ,
1 1 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 0 5 , 5 6 ,
1 1 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 5 6 ,
9 , 1 1 4 , 1 0 1 , 1 0 2 , 9 7 , 1 1 0 , 1 2 1 , 1 1 8 , 9 7 , 1 0 8 ,
8 , 9 9 , 1 0 7 , 1 0 2 , 1 0 5 , 1 1 0 , 1 0 5 , 1 1 6 , 1 0 1 ,
8 , 1 0 9 , 1 0 7 , 1 1 4 , 1 0 1 , 1 0 2 , 9 7 , 1 1 0 , 1 2 1 ,
7 , 1 0 8 , 1 0 0 , 1 1 6 , 1 1 1 , 1 0 7 , 1 0 1 , 1 1 0 ,
7 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 7 , 5 0 ,
7 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 7 , 4 9 ,
6 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 0 5 ,
1 0 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 0 5 ,
1 0 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 ,
7 , 9 7 , 1 0 0 , 1 0 0 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 ,
1 0 , 9 7 , 1 0 0 , 1 0 0 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 1 1 0 ,
7 , 1 0 9 , 1 1 7 , 1 0 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 ,
1 0 , 1 0 9 , 1 1 7 , 1 0 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 1 1 0 ,
7 , 1 1 5 , 1 1 7 , 9 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 ,
1 0 , 1 1 5 , 1 1 7 , 9 8 , 4 6 , 1 1 1 , 1 1 8 , 1 0 2 , 4 6 , 1 1 7 , 1 1 0 ,
1 0 , 1 0 1 , 1 1 0 , 1 0 0 , 1 0 2 , 1 0 5 , 1 1 0 , 9 7 , 1 0 8 , 1 0 8 , 1 2 1 ,
5 , 1 0 8 , 1 0 1 , 9 7 , 1 1 8 , 1 0 1 ,
7 , 1 0 8 , 1 0 1 , 9 7 , 1 1 8 , 1 0 1 , 4 6 , 1 1 5 ,
7 , 1 1 5 , 1 1 6 , 1 0 5 , 1 1 0 , 1 0 0 , 4 6 , 1 0 5 ,
6 , 9 9 , 1 1 1 , 1 1 0 , 1 1 8 , 4 6 , 1 1 7 ,
7 , 9 7 , 1 1 4 , 1 0 3 , 1 0 8 , 1 0 5 , 1 1 5 , 1 1 6 ,
3 , 9 9 , 1 0 1 , 1 1 3 ,
3 , 9 9 , 1 0 3 , 1 1 6 ,
6 , 9 9 , 1 0 3 , 1 1 6 , 4 6 , 1 1 7 , 1 1 0 ,
3 , 9 9 , 1 0 8 , 1 1 6 ,
6 , 9 9 , 1 0 8 , 1 1 6 , 4 6 , 1 1 7 , 1 1 0 ,
5 , 1 0 8 , 1 0 0 , 1 0 2 , 1 1 6 , 1 1 0 ,
9 , 1 0 8 , 1 0 0 , 1 1 8 , 1 0 5 , 1 1 4 , 1 1 6 , 1 0 2 , 1 1 6 , 1 1 0 ,
5 , 1 0 8 , 1 0 0 , 9 7 , 1 1 4 , 1 0 3 ,
6 , 1 0 8 , 1 0 0 , 9 7 , 1 1 4 , 1 0 3 , 9 7 ,
5 , 1 1 5 , 1 1 6 , 9 7 , 1 1 4 , 1 0 3 ,
5 , 1 0 8 , 1 0 0 , 1 0 8 , 1 1 1 , 9 9 ,
6 , 1 0 8 , 1 0 0 , 1 0 8 , 1 1 1 , 9 9 , 9 7 ,
5 , 1 1 5 , 1 1 6 , 1 0 8 , 1 1 1 , 9 9 ,
8 , 1 0 8 , 1 1 1 , 9 9 , 9 7 , 1 0 8 , 1 0 8 , 1 1 1 , 9 9 ,
9 , 1 0 1 , 1 1 0 , 1 0 0 , 1 0 2 , 1 0 5 , 1 0 8 , 1 1 6 , 1 0 1 , 1 1 4 ,
1 0 , 1 1 7 , 1 1 0 , 9 7 , 1 0 8 , 1 0 5 , 1 0 3 , 1 1 0 , 1 0 1 , 1 0 0 , 4 6 ,
9 , 1 1 8 , 1 1 1 , 1 0 8 , 9 7 , 1 1 6 , 1 0 5 , 1 0 8 , 1 0 1 , 4 6 ,
5 , 1 1 6 , 9 7 , 1 0 5 , 1 0 8 , 4 6 ,
7 , 1 0 5 , 1 1 0 , 1 0 5 , 1 1 6 , 1 1 1 , 9 8 , 1 0 6 ,
1 2 , 9 9 , 1 1 1 , 1 1 0 , 1 1 5 , 1 1 6 , 1 1 4 , 9 7 , 1 0 5 , 1 1 0 , 1 0 1 , 1 0 0 , 4 6 ,
5 , 9 9 , 1 1 2 , 9 8 , 1 0 8 , 1 0 7 ,
7 , 1 0 5 , 1 1 0 , 1 0 5 , 1 1 6 , 9 8 , 1 0 8 , 1 0 7 ,
3 , 1 1 0 , 1 1 1 , 4 6 ,
7 , 1 1 4 , 1 0 1 , 1 1 6 , 1 0 4 , 1 1 4 , 1 1 1 , 1 1 9 ,
6 , 1 1 5 , 1 0 5 , 1 2 2 , 1 0 1 , 1 1 1 , 1 0 2 ,
1 0 , 1 1 4 , 1 0 1 , 1 0 2 , 9 7 , 1 1 0 , 1 2 1 , 1 1 6 , 1 2 1 , 1 1 2 , 1 0 1 ,
9 , 1 1 4 , 1 0 1 , 9 7 , 1 0 0 , 1 1 1 , 1 1 0 , 1 0 8 , 1 2 1 , 4 6 ,
} ;
names = new string [ 2 1 9 ] ;
for ( int i = 0 , p = 0 ; i < names . Length ; i + + ) {
var buffer = new char [ table [ p + + ] ] ;
for ( int j = 0 ; j < buffer . Length ; j + + )
buffer [ j ] = ( char ) table [ p + + ] ;
names [ i ] = new string ( buffer ) ;
}
}
}
}