关于 VBA 部分

Option Explicit

Public Type RectType
    x As Integer
    Y As Integer
    RectWidth As Integer
    RectHeight As Integer
End Type

Public Type AlignPatternPosType
    Count As Integer
    Pos(1 To 7) As Integer
End Type

Public Type RawDataType
    Data As Long
    BitLen As Integer
End Type

Public Enum EncodingModeType
    EM_Numeric = 1
    EM_Alphanumeric = 2
    EM_Byte = 4
    EM_Kanji = 8
End Enum

Public Enum ECLevelType
    ECL_L = 1
    ECL_M = 2
    ECL_Q = 3
    ECL_H = 4
End Enum

Public Enum ModeIndicatorType
    MI_Numeric = 1
    MI_Alphanumeric = 2
    MI_Byte = 4
    MI_Kanji = 8
    MI_ECI = 16
End Enum

Public Type ECBlockType
    ec As String
    Block As String
End Type
    
Public Type ECBlockInfoType
    LenData As Integer
    LenEC As Integer
    BlockCount(1 To 2) As Integer
    LenBlock(1 To 2) As Integer
End Type

Public Const QRNumericString = "0123456789"
Public Const QRAlphanumericString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:"

Public CharCapTable(1 To 40, 1 To 4, 1 To 8)
Public CharCountIndicator(1 To 40, 1 To 8)
Public ECBlockTable(1 To 40, 1 To 4) As ECBlockInfoType
Public GF(0 To 255) As Integer
Public LogA(1 To 255) As Integer
Public ALogA(0 To 254) As Integer
Public APat(1 To 40) As AlignPatternPosType
Public FmtInfoTable(1 To 4, 0 To 7) As Long
Public VerInfoTable(7 To 40) As Long

Public Sub IntializeQRConst()
    Dim i As Integer
    
    'Initlize Character Count Indicator
    For i = 1 To 40
        Select Case i
        Case 1 To 9
            CharCountIndicator(i, 1) = 10
            CharCountIndicator(i, 2) = 9
            CharCountIndicator(i, 4) = 8
            CharCountIndicator(i, 8) = 8
        Case 10 To 26
            CharCountIndicator(i, 1) = 12
            CharCountIndicator(i, 2) = 11
            CharCountIndicator(i, 4) = 16
            CharCountIndicator(i, 8) = 10
        Case 27 To 40
            CharCountIndicator(i, 1) = 14
            CharCountIndicator(i, 2) = 13
            CharCountIndicator(i, 4) = 16
            CharCountIndicator(i, 8) = 12
        End Select
    Next i
    
    'Intialize Character Capacities by Version, Mode, and Error Correction
    CharCapTable(1, 1, 1) = 41: CharCapTable(1, 1, 2) = 25: CharCapTable(1, 1, 4) = 17: CharCapTable(1, 1, 8) = 10
    CharCapTable(1, 2, 1) = 34: CharCapTable(1, 2, 2) = 20: CharCapTable(1, 2, 4) = 14: CharCapTable(1, 2, 8) = 8
    CharCapTable(1, 3, 1) = 27: CharCapTable(1, 3, 2) = 16: CharCapTable(1, 3, 4) = 11: CharCapTable(1, 3, 8) = 7
    CharCapTable(1, 4, 1) = 17: CharCapTable(1, 4, 2) = 10: CharCapTable(1, 4, 4) = 7: CharCapTable(1, 4, 8) = 4
    CharCapTable(2, 1, 1) = 77: CharCapTable(2, 1, 2) = 47: CharCapTable(2, 1, 4) = 32: CharCapTable(2, 1, 8) = 20
    CharCapTable(2, 2, 1) = 63: CharCapTable(2, 2, 2) = 38: CharCapTable(2, 2, 4) = 26: CharCapTable(2, 2, 8) = 16
    CharCapTable(2, 3, 1) = 48: CharCapTable(2, 3, 2) = 29: CharCapTable(2, 3, 4) = 20: CharCapTable(2, 3, 8) = 12
    CharCapTable(2, 4, 1) = 34: CharCapTable(2, 4, 2) = 20: CharCapTable(2, 4, 4) = 14: CharCapTable(2, 4, 8) = 8
    CharCapTable(3, 1, 1) = 127: CharCapTable(3, 1, 2) = 77: CharCapTable(3, 1, 4) = 53: CharCapTable(3, 1, 8) = 32
    CharCapTable(3, 2, 1) = 101: CharCapTable(3, 2, 2) = 61: CharCapTable(3, 2, 4) = 42: CharCapTable(3, 2, 8) = 26
    CharCapTable(3, 3, 1) = 77: CharCapTable(3, 3, 2) = 47: CharCapTable(3, 3, 4) = 32: CharCapTable(3, 3, 8) = 20
    CharCapTable(3, 4, 1) = 58: CharCapTable(3, 4, 2) = 35: CharCapTable(3, 4, 4) = 24: CharCapTable(3, 4, 8) = 15
    CharCapTable(4, 1, 1) = 187: CharCapTable(4, 1, 2) = 114: CharCapTable(4, 1, 4) = 78: CharCapTable(4, 1, 8) = 48
    CharCapTable(4, 2, 1) = 149: CharCapTable(4, 2, 2) = 90: CharCapTable(4, 2, 4) = 62: CharCapTable(4, 2, 8) = 38
    CharCapTable(4, 3, 1) = 111: CharCapTable(4, 3, 2) = 67: CharCapTable(4, 3, 4) = 46: CharCapTable(4, 3, 8) = 28
    CharCapTable(4, 4, 1) = 82: CharCapTable(4, 4, 2) = 50: CharCapTable(4, 4, 4) = 34: CharCapTable(4, 4, 8) = 21
    CharCapTable(5, 1, 1) = 255: CharCapTable(5, 1, 2) = 154: CharCapTable(5, 1, 4) = 106: CharCapTable(5, 1, 8) = 65
    CharCapTable(5, 2, 1) = 202: CharCapTable(5, 2, 2) = 122: CharCapTable(5, 2, 4) = 84: CharCapTable(5, 2, 8) = 52
    CharCapTable(5, 3, 1) = 144: CharCapTable(5, 3, 2) = 87: CharCapTable(5, 3, 4) = 60: CharCapTable(5, 3, 8) = 37
    CharCapTable(5, 4, 1) = 106: CharCapTable(5, 4, 2) = 64: CharCapTable(5, 4, 4) = 44: CharCapTable(5, 4, 8) = 27
    CharCapTable(6, 1, 1) = 322: CharCapTable(6, 1, 2) = 195: CharCapTable(6, 1, 4) = 134: CharCapTable(6, 1, 8) = 82
    CharCapTable(6, 2, 1) = 255: CharCapTable(6, 2, 2) = 154: CharCapTable(6, 2, 4) = 106: CharCapTable(6, 2, 8) = 65
    CharCapTable(6, 3, 1) = 178: CharCapTable(6, 3, 2) = 108: CharCapTable(6, 3, 4) = 74: CharCapTable(6, 3, 8) = 45
    CharCapTable(6, 4, 1) = 139: CharCapTable(6, 4, 2) = 84: CharCapTable(6, 4, 4) = 58: CharCapTable(6, 4, 8) = 36
    CharCapTable(7, 1, 1) = 370: CharCapTable(7, 1, 2) = 224: CharCapTable(7, 1, 4) = 154: CharCapTable(7, 1, 8) = 95
    CharCapTable(7, 2, 1) = 293: CharCapTable(7, 2, 2) = 178: CharCapTable(7, 2, 4) = 122: CharCapTable(7, 2, 8) = 75
    CharCapTable(7, 3, 1) = 207: CharCapTable(7, 3, 2) = 125: CharCapTable(7, 3, 4) = 86: CharCapTable(7, 3, 8) = 53
    CharCapTable(7, 4, 1) = 154: CharCapTable(7, 4, 2) = 93: CharCapTable(7, 4, 4) = 64: CharCapTable(7, 4, 8) = 39
    CharCapTable(8, 1, 1) = 461: CharCapTable(8, 1, 2) = 279: CharCapTable(8, 1, 4) = 192: CharCapTable(8, 1, 8) = 118
    CharCapTable(8, 2, 1) = 365: CharCapTable(8, 2, 2) = 221: CharCapTable(8, 2, 4) = 152: CharCapTable(8, 2, 8) = 93
    CharCapTable(8, 3, 1) = 259: CharCapTable(8, 3, 2) = 157: CharCapTable(8, 3, 4) = 108: CharCapTable(8, 3, 8) = 66
    CharCapTable(8, 4, 1) = 202: CharCapTable(8, 4, 2) = 122: CharCapTable(8, 4, 4) = 84: CharCapTable(8, 4, 8) = 52
    CharCapTable(9, 1, 1) = 552: CharCapTable(9, 1, 2) = 335: CharCapTable(9, 1, 4) = 230: CharCapTable(9, 1, 8) = 141
    CharCapTable(9, 2, 1) = 432: CharCapTable(9, 2, 2) = 262: CharCapTable(9, 2, 4) = 180: CharCapTable(9, 2, 8) = 111
    CharCapTable(9, 3, 1) = 312: CharCapTable(9, 3, 2) = 189: CharCapTable(9, 3, 4) = 130: CharCapTable(9, 3, 8) = 80
    CharCapTable(9, 4, 1) = 235: CharCapTable(9, 4, 2) = 143: CharCapTable(9, 4, 4) = 98: CharCapTable(9, 4, 8) = 60
    CharCapTable(10, 1, 1) = 652: CharCapTable(10, 1, 2) = 395: CharCapTable(10, 1, 4) = 271: CharCapTable(10, 1, 8) = 167
    CharCapTable(10, 2, 1) = 513: CharCapTable(10, 2, 2) = 311: CharCapTable(10, 2, 4) = 213: CharCapTable(10, 2, 8) = 131
    CharCapTable(10, 3, 1) = 364: CharCapTable(10, 3, 2) = 221: CharCapTable(10, 3, 4) = 151: CharCapTable(10, 3, 8) = 93
    CharCapTable(10, 4, 1) = 288: CharCapTable(10, 4, 2) = 174: CharCapTable(10, 4, 4) = 119: CharCapTable(10, 4, 8) = 74
    CharCapTable(11, 1, 1) = 772: CharCapTable(11, 1, 2) = 468: CharCapTable(11, 1, 4) = 321: CharCapTable(11, 1, 8) = 198
    CharCapTable(11, 2, 1) = 604: CharCapTable(11, 2, 2) = 366: CharCapTable(11, 2, 4) = 251: CharCapTable(11, 2, 8) = 155
    CharCapTable(11, 3, 1) = 427: CharCapTable(11, 3, 2) = 259: CharCapTable(11, 3, 4) = 177: CharCapTable(11, 3, 8) = 109
    CharCapTable(11, 4, 1) = 331: CharCapTable(11, 4, 2) = 200: CharCapTable(11, 4, 4) = 137: CharCapTable(11, 4, 8) = 85
    CharCapTable(12, 1, 1) = 883: CharCapTable(12, 1, 2) = 535: CharCapTable(12, 1, 4) = 367: CharCapTable(12, 1, 8) = 226
    CharCapTable(12, 2, 1) = 691: CharCapTable(12, 2, 2) = 419: CharCapTable(12, 2, 4) = 287: CharCapTable(12, 2, 8) = 177
    CharCapTable(12, 3, 1) = 489: CharCapTable(12, 3, 2) = 296: CharCapTable(12, 3, 4) = 203: CharCapTable(12, 3, 8) = 125
    CharCapTable(12, 4, 1) = 374: CharCapTable(12, 4, 2) = 227: CharCapTable(12, 4, 4) = 155: CharCapTable(12, 4, 8) = 96
    CharCapTable(13, 1, 1) = 1022: CharCapTable(13, 1, 2) = 619: CharCapTable(13, 1, 4) = 425: CharCapTable(13, 1, 8) = 262
    CharCapTable(13, 2, 1) = 796: CharCapTable(13, 2, 2) = 483: CharCapTable(13, 2, 4) = 331: CharCapTable(13, 2, 8) = 204
    CharCapTable(13, 3, 1) = 580: CharCapTable(13, 3, 2) = 352: CharCapTable(13, 3, 4) = 241: CharCapTable(13, 3, 8) = 149
    CharCapTable(13, 4, 1) = 427: CharCapTable(13, 4, 2) = 259: CharCapTable(13, 4, 4) = 177: CharCapTable(13, 4, 8) = 109
    CharCapTable(14, 1, 1) = 1101: CharCapTable(14, 1, 2) = 667: CharCapTable(14, 1, 4) = 458: CharCapTable(14, 1, 8) = 282
    CharCapTable(14, 2, 1) = 871: CharCapTable(14, 2, 2) = 528: CharCapTable(14, 2, 4) = 362: CharCapTable(14, 2, 8) = 223
    CharCapTable(14, 3, 1) = 621: CharCapTable(14, 3, 2) = 376: CharCapTable(14, 3, 4) = 258: CharCapTable(14, 3, 8) = 159
    CharCapTable(14, 4, 1) = 468: CharCapTable(14, 4, 2) = 283: CharCapTable(14, 4, 4) = 194: CharCapTable(14, 4, 8) = 120
    CharCapTable(15, 1, 1) = 1250: CharCapTable(15, 1, 2) = 758: CharCapTable(15, 1, 4) = 520: CharCapTable(15, 1, 8) = 320
    CharCapTable(15, 2, 1) = 991: CharCapTable(15, 2, 2) = 600: CharCapTable(15, 2, 4) = 412: CharCapTable(15, 2, 8) = 254
    CharCapTable(15, 3, 1) = 703: CharCapTable(15, 3, 2) = 426: CharCapTable(15, 3, 4) = 292: CharCapTable(15, 3, 8) = 180
    CharCapTable(15, 4, 1) = 530: CharCapTable(15, 4, 2) = 321: CharCapTable(15, 4, 4) = 220: CharCapTable(15, 4, 8) = 136
    CharCapTable(16, 1, 1) = 1408: CharCapTable(16, 1, 2) = 854: CharCapTable(16, 1, 4) = 586: CharCapTable(16, 1, 8) = 361
    CharCapTable(16, 2, 1) = 1082: CharCapTable(16, 2, 2) = 656: CharCapTable(16, 2, 4) = 450: CharCapTable(16, 2, 8) = 277
    CharCapTable(16, 3, 1) = 775: CharCapTable(16, 3, 2) = 470: CharCapTable(16, 3, 4) = 322: CharCapTable(16, 3, 8) = 198
    CharCapTable(16, 4, 1) = 602: CharCapTable(16, 4, 2) = 365: CharCapTable(16, 4, 4) = 250: CharCapTable(16, 4, 8) = 154
    CharCapTable(17, 1, 1) = 1548: CharCapTable(17, 1, 2) = 938: CharCapTable(17, 1, 4) = 644: CharCapTable(17, 1, 8) = 397
    CharCapTable(17, 2, 1) = 1212: CharCapTable(17, 2, 2) = 734: CharCapTable(17, 2, 4) = 504: CharCapTable(17, 2, 8) = 310
    CharCapTable(17, 3, 1) = 876: CharCapTable(17, 3, 2) = 531: CharCapTable(17, 3, 4) = 364: CharCapTable(17, 3, 8) = 224
    CharCapTable(17, 4, 1) = 674: CharCapTable(17, 4, 2) = 408: CharCapTable(17, 4, 4) = 280: CharCapTable(17, 4, 8) = 173
    CharCapTable(18, 1, 1) = 1725: CharCapTable(18, 1, 2) = 1046: CharCapTable(18, 1, 4) = 718: CharCapTable(18, 1, 8) = 442
    CharCapTable(18, 2, 1) = 1346: CharCapTable(18, 2, 2) = 816: CharCapTable(18, 2, 4) = 560: CharCapTable(18, 2, 8) = 345
    CharCapTable(18, 3, 1) = 948: CharCapTable(18, 3, 2) = 574: CharCapTable(18, 3, 4) = 394: CharCapTable(18, 3, 8) = 243
    CharCapTable(18, 4, 1) = 746: CharCapTable(18, 4, 2) = 452: CharCapTable(18, 4, 4) = 310: CharCapTable(18, 4, 8) = 191
    CharCapTable(19, 1, 1) = 1903: CharCapTable(19, 1, 2) = 1153: CharCapTable(19, 1, 4) = 792: CharCapTable(19, 1, 8) = 488
    CharCapTable(19, 2, 1) = 1500: CharCapTable(19, 2, 2) = 909: CharCapTable(19, 2, 4) = 624: CharCapTable(19, 2, 8) = 384
    CharCapTable(19, 3, 1) = 1063: CharCapTable(19, 3, 2) = 644: CharCapTable(19, 3, 4) = 442: CharCapTable(19, 3, 8) = 272
    CharCapTable(19, 4, 1) = 813: CharCapTable(19, 4, 2) = 493: CharCapTable(19, 4, 4) = 338: CharCapTable(19, 4, 8) = 208
    CharCapTable(20, 1, 1) = 2061: CharCapTable(20, 1, 2) = 1249: CharCapTable(20, 1, 4) = 858: CharCapTable(20, 1, 8) = 528
    CharCapTable(20, 2, 1) = 1600: CharCapTable(20, 2, 2) = 970: CharCapTable(20, 2, 4) = 666: CharCapTable(20, 2, 8) = 410
    CharCapTable(20, 3, 1) = 1159: CharCapTable(20, 3, 2) = 702: CharCapTable(20, 3, 4) = 482: CharCapTable(20, 3, 8) = 297
    CharCapTable(20, 4, 1) = 919: CharCapTable(20, 4, 2) = 557: CharCapTable(20, 4, 4) = 382: CharCapTable(20, 4, 8) = 235
    CharCapTable(21, 1, 1) = 2232: CharCapTable(21, 1, 2) = 1352: CharCapTable(21, 1, 4) = 929: CharCapTable(21, 1, 8) = 572
    CharCapTable(21, 2, 1) = 1708: CharCapTable(21, 2, 2) = 1035: CharCapTable(21, 2, 4) = 711: CharCapTable(21, 2, 8) = 438
    CharCapTable(21, 3, 1) = 1224: CharCapTable(21, 3, 2) = 742: CharCapTable(21, 3, 4) = 509: CharCapTable(21, 3, 8) = 314
    CharCapTable(21, 4, 1) = 969: CharCapTable(21, 4, 2) = 587: CharCapTable(21, 4, 4) = 403: CharCapTable(21, 4, 8) = 248
    CharCapTable(22, 1, 1) = 2409: CharCapTable(22, 1, 2) = 1460: CharCapTable(22, 1, 4) = 1003: CharCapTable(22, 1, 8) = 618
    CharCapTable(22, 2, 1) = 1872: CharCapTable(22, 2, 2) = 1134: CharCapTable(22, 2, 4) = 779: CharCapTable(22, 2, 8) = 480
    CharCapTable(22, 3, 1) = 1358: CharCapTable(22, 3, 2) = 823: CharCapTable(22, 3, 4) = 565: CharCapTable(22, 3, 8) = 348
    CharCapTable(22, 4, 1) = 1056: CharCapTable(22, 4, 2) = 640: CharCapTable(22, 4, 4) = 439: CharCapTable(22, 4, 8) = 270
    CharCapTable(23, 1, 1) = 2620: CharCapTable(23, 1, 2) = 1588: CharCapTable(23, 1, 4) = 1091: CharCapTable(23, 1, 8) = 672
    CharCapTable(23, 2, 1) = 2059: CharCapTable(23, 2, 2) = 1248: CharCapTable(23, 2, 4) = 857: CharCapTable(23, 2, 8) = 528
    CharCapTable(23, 3, 1) = 1468: CharCapTable(23, 3, 2) = 890: CharCapTable(23, 3, 4) = 611: CharCapTable(23, 3, 8) = 376
    CharCapTable(23, 4, 1) = 1108: CharCapTable(23, 4, 2) = 672: CharCapTable(23, 4, 4) = 461: CharCapTable(23, 4, 8) = 284
    CharCapTable(24, 1, 1) = 2812: CharCapTable(24, 1, 2) = 1704: CharCapTable(24, 1, 4) = 1171: CharCapTable(24, 1, 8) = 721
    CharCapTable(24, 2, 1) = 2188: CharCapTable(24, 2, 2) = 1326: CharCapTable(24, 2, 4) = 911: CharCapTable(24, 2, 8) = 561
    CharCapTable(24, 3, 1) = 1588: CharCapTable(24, 3, 2) = 963: CharCapTable(24, 3, 4) = 661: CharCapTable(24, 3, 8) = 407
    CharCapTable(24, 4, 1) = 1228: CharCapTable(24, 4, 2) = 744: CharCapTable(24, 4, 4) = 511: CharCapTable(24, 4, 8) = 315
    CharCapTable(25, 1, 1) = 3057: CharCapTable(25, 1, 2) = 1853: CharCapTable(25, 1, 4) = 1273: CharCapTable(25, 1, 8) = 784
    CharCapTable(25, 2, 1) = 2395: CharCapTable(25, 2, 2) = 1451: CharCapTable(25, 2, 4) = 997: CharCapTable(25, 2, 8) = 614
    CharCapTable(25, 3, 1) = 1718: CharCapTable(25, 3, 2) = 1041: CharCapTable(25, 3, 4) = 715: CharCapTable(25, 3, 8) = 440
    CharCapTable(25, 4, 1) = 1286: CharCapTable(25, 4, 2) = 779: CharCapTable(25, 4, 4) = 535: CharCapTable(25, 4, 8) = 330
    CharCapTable(26, 1, 1) = 3283: CharCapTable(26, 1, 2) = 1990: CharCapTable(26, 1, 4) = 1367: CharCapTable(26, 1, 8) = 842
    CharCapTable(26, 2, 1) = 2544: CharCapTable(26, 2, 2) = 1542: CharCapTable(26, 2, 4) = 1059: CharCapTable(26, 2, 8) = 652
    CharCapTable(26, 3, 1) = 1804: CharCapTable(26, 3, 2) = 1094: CharCapTable(26, 3, 4) = 751: CharCapTable(26, 3, 8) = 462
    CharCapTable(26, 4, 1) = 1425: CharCapTable(26, 4, 2) = 864: CharCapTable(26, 4, 4) = 593: CharCapTable(26, 4, 8) = 365
    CharCapTable(27, 1, 1) = 3517: CharCapTable(27, 1, 2) = 2132: CharCapTable(27, 1, 4) = 1465: CharCapTable(27, 1, 8) = 902
    CharCapTable(27, 2, 1) = 2701: CharCapTable(27, 2, 2) = 1637: CharCapTable(27, 2, 4) = 1125: CharCapTable(27, 2, 8) = 692
    CharCapTable(27, 3, 1) = 1933: CharCapTable(27, 3, 2) = 1172: CharCapTable(27, 3, 4) = 805: CharCapTable(27, 3, 8) = 496
    CharCapTable(27, 4, 1) = 1501: CharCapTable(27, 4, 2) = 910: CharCapTable(27, 4, 4) = 625: CharCapTable(27, 4, 8) = 385
    CharCapTable(28, 1, 1) = 3669: CharCapTable(28, 1, 2) = 2223: CharCapTable(28, 1, 4) = 1528: CharCapTable(28, 1, 8) = 940
    CharCapTable(28, 2, 1) = 2857: CharCapTable(28, 2, 2) = 1732: CharCapTable(28, 2, 4) = 1190: CharCapTable(28, 2, 8) = 732
    CharCapTable(28, 3, 1) = 2085: CharCapTable(28, 3, 2) = 1263: CharCapTable(28, 3, 4) = 868: CharCapTable(28, 3, 8) = 534
    CharCapTable(28, 4, 1) = 1581: CharCapTable(28, 4, 2) = 958: CharCapTable(28, 4, 4) = 658: CharCapTable(28, 4, 8) = 405
    CharCapTable(29, 1, 1) = 3909: CharCapTable(29, 1, 2) = 2369: CharCapTable(29, 1, 4) = 1628: CharCapTable(29, 1, 8) = 1002
    CharCapTable(29, 2, 1) = 3035: CharCapTable(29, 2, 2) = 1839: CharCapTable(29, 2, 4) = 1264: CharCapTable(29, 2, 8) = 778
    CharCapTable(29, 3, 1) = 2181: CharCapTable(29, 3, 2) = 1322: CharCapTable(29, 3, 4) = 908: CharCapTable(29, 3, 8) = 559
    CharCapTable(29, 4, 1) = 1677: CharCapTable(29, 4, 2) = 1016: CharCapTable(29, 4, 4) = 698: CharCapTable(29, 4, 8) = 430
    CharCapTable(30, 1, 1) = 4158: CharCapTable(30, 1, 2) = 2520: CharCapTable(30, 1, 4) = 1732: CharCapTable(30, 1, 8) = 1066
    CharCapTable(30, 2, 1) = 3289: CharCapTable(30, 2, 2) = 1994: CharCapTable(30, 2, 4) = 1370: CharCapTable(30, 2, 8) = 843
    CharCapTable(30, 3, 1) = 2358: CharCapTable(30, 3, 2) = 1429: CharCapTable(30, 3, 4) = 982: CharCapTable(30, 3, 8) = 604
    CharCapTable(30, 4, 1) = 1782: CharCapTable(30, 4, 2) = 1080: CharCapTable(30, 4, 4) = 742: CharCapTable(30, 4, 8) = 457
    CharCapTable(31, 1, 1) = 4417: CharCapTable(31, 1, 2) = 2677: CharCapTable(31, 1, 4) = 1840: CharCapTable(31, 1, 8) = 1132
    CharCapTable(31, 2, 1) = 3486: CharCapTable(31, 2, 2) = 2113: CharCapTable(31, 2, 4) = 1452: CharCapTable(31, 2, 8) = 894
    CharCapTable(31, 3, 1) = 2473: CharCapTable(31, 3, 2) = 1499: CharCapTable(31, 3, 4) = 1030: CharCapTable(31, 3, 8) = 634
    CharCapTable(31, 4, 1) = 1897: CharCapTable(31, 4, 2) = 1150: CharCapTable(31, 4, 4) = 790: CharCapTable(31, 4, 8) = 486
    CharCapTable(32, 1, 1) = 4686: CharCapTable(32, 1, 2) = 2840: CharCapTable(32, 1, 4) = 1952: CharCapTable(32, 1, 8) = 1201
    CharCapTable(32, 2, 1) = 3693: CharCapTable(32, 2, 2) = 2238: CharCapTable(32, 2, 4) = 1538: CharCapTable(32, 2, 8) = 947
    CharCapTable(32, 3, 1) = 2670: CharCapTable(32, 3, 2) = 1618: CharCapTable(32, 3, 4) = 1112: CharCapTable(32, 3, 8) = 684
    CharCapTable(32, 4, 1) = 2022: CharCapTable(32, 4, 2) = 1226: CharCapTable(32, 4, 4) = 842: CharCapTable(32, 4, 8) = 518
    CharCapTable(33, 1, 1) = 4965: CharCapTable(33, 1, 2) = 3009: CharCapTable(33, 1, 4) = 2068: CharCapTable(33, 1, 8) = 1273
    CharCapTable(33, 2, 1) = 3909: CharCapTable(33, 2, 2) = 2369: CharCapTable(33, 2, 4) = 1628: CharCapTable(33, 2, 8) = 1002
    CharCapTable(33, 3, 1) = 2805: CharCapTable(33, 3, 2) = 1700: CharCapTable(33, 3, 4) = 1168: CharCapTable(33, 3, 8) = 719
    CharCapTable(33, 4, 1) = 2157: CharCapTable(33, 4, 2) = 1307: CharCapTable(33, 4, 4) = 898: CharCapTable(33, 4, 8) = 553
    CharCapTable(34, 1, 1) = 5253: CharCapTable(34, 1, 2) = 3183: CharCapTable(34, 1, 4) = 2188: CharCapTable(34, 1, 8) = 1347
    CharCapTable(34, 2, 1) = 4134: CharCapTable(34, 2, 2) = 2506: CharCapTable(34, 2, 4) = 1722: CharCapTable(34, 2, 8) = 1060
    CharCapTable(34, 3, 1) = 2949: CharCapTable(34, 3, 2) = 1787: CharCapTable(34, 3, 4) = 1228: CharCapTable(34, 3, 8) = 756
    CharCapTable(34, 4, 1) = 2301: CharCapTable(34, 4, 2) = 1394: CharCapTable(34, 4, 4) = 958: CharCapTable(34, 4, 8) = 590
    CharCapTable(35, 1, 1) = 5529: CharCapTable(35, 1, 2) = 3351: CharCapTable(35, 1, 4) = 2303: CharCapTable(35, 1, 8) = 1417
    CharCapTable(35, 2, 1) = 4343: CharCapTable(35, 2, 2) = 2632: CharCapTable(35, 2, 4) = 1809: CharCapTable(35, 2, 8) = 1113
    CharCapTable(35, 3, 1) = 3081: CharCapTable(35, 3, 2) = 1867: CharCapTable(35, 3, 4) = 1283: CharCapTable(35, 3, 8) = 790
    CharCapTable(35, 4, 1) = 2361: CharCapTable(35, 4, 2) = 1431: CharCapTable(35, 4, 4) = 983: CharCapTable(35, 4, 8) = 605
    CharCapTable(36, 1, 1) = 5836: CharCapTable(36, 1, 2) = 3537: CharCapTable(36, 1, 4) = 2431: CharCapTable(36, 1, 8) = 1496
    CharCapTable(36, 2, 1) = 4588: CharCapTable(36, 2, 2) = 2780: CharCapTable(36, 2, 4) = 1911: CharCapTable(36, 2, 8) = 1176
    CharCapTable(36, 3, 1) = 3244: CharCapTable(36, 3, 2) = 1966: CharCapTable(36, 3, 4) = 1351: CharCapTable(36, 3, 8) = 832
    CharCapTable(36, 4, 1) = 2524: CharCapTable(36, 4, 2) = 1530: CharCapTable(36, 4, 4) = 1051: CharCapTable(36, 4, 8) = 647
    CharCapTable(37, 1, 1) = 6153: CharCapTable(37, 1, 2) = 3729: CharCapTable(37, 1, 4) = 2563: CharCapTable(37, 1, 8) = 1577
    CharCapTable(37, 2, 1) = 4775: CharCapTable(37, 2, 2) = 2894: CharCapTable(37, 2, 4) = 1989: CharCapTable(37, 2, 8) = 1224
    CharCapTable(37, 3, 1) = 3417: CharCapTable(37, 3, 2) = 2071: CharCapTable(37, 3, 4) = 1423: CharCapTable(37, 3, 8) = 876
    CharCapTable(37, 4, 1) = 2625: CharCapTable(37, 4, 2) = 1591: CharCapTable(37, 4, 4) = 1093: CharCapTable(37, 4, 8) = 673
    CharCapTable(38, 1, 1) = 6479: CharCapTable(38, 1, 2) = 3927: CharCapTable(38, 1, 4) = 2699: CharCapTable(38, 1, 8) = 1661
    CharCapTable(38, 2, 1) = 5039: CharCapTable(38, 2, 2) = 3054: CharCapTable(38, 2, 4) = 2099: CharCapTable(38, 2, 8) = 1292
    CharCapTable(38, 3, 1) = 3599: CharCapTable(38, 3, 2) = 2181: CharCapTable(38, 3, 4) = 1499: CharCapTable(38, 3, 8) = 923
    CharCapTable(38, 4, 1) = 2735: CharCapTable(38, 4, 2) = 1658: CharCapTable(38, 4, 4) = 1139: CharCapTable(38, 4, 8) = 701
    CharCapTable(39, 1, 1) = 6743: CharCapTable(39, 1, 2) = 4087: CharCapTable(39, 1, 4) = 2809: CharCapTable(39, 1, 8) = 1729
    CharCapTable(39, 2, 1) = 5313: CharCapTable(39, 2, 2) = 3220: CharCapTable(39, 2, 4) = 2213: CharCapTable(39, 2, 8) = 1362
    CharCapTable(39, 3, 1) = 3791: CharCapTable(39, 3, 2) = 2298: CharCapTable(39, 3, 4) = 1579: CharCapTable(39, 3, 8) = 972
    CharCapTable(39, 4, 1) = 2927: CharCapTable(39, 4, 2) = 1774: CharCapTable(39, 4, 4) = 1219: CharCapTable(39, 4, 8) = 750
    CharCapTable(40, 1, 1) = 7089: CharCapTable(40, 1, 2) = 4296: CharCapTable(40, 1, 4) = 2953: CharCapTable(40, 1, 8) = 1817
    CharCapTable(40, 2, 1) = 5596: CharCapTable(40, 2, 2) = 3391: CharCapTable(40, 2, 4) = 2331: CharCapTable(40, 2, 8) = 1435
    CharCapTable(40, 3, 1) = 3993: CharCapTable(40, 3, 2) = 2420: CharCapTable(40, 3, 4) = 1663: CharCapTable(40, 3, 8) = 1024
    CharCapTable(40, 4, 1) = 3057: CharCapTable(40, 4, 2) = 1852: CharCapTable(40, 4, 4) = 1273: CharCapTable(40, 4, 8) = 784

    'Intialize Error Correction Table
    ECBlockTable(1, 1).LenData = 19: ECBlockTable(1, 1).LenEC = 7: ECBlockTable(1, 1).BlockCount(1) = 1: ECBlockTable(1, 1).LenBlock(1) = 19
    ECBlockTable(1, 2).LenData = 16: ECBlockTable(1, 2).LenEC = 10: ECBlockTable(1, 2).BlockCount(1) = 1: ECBlockTable(1, 2).LenBlock(1) = 16
    ECBlockTable(1, 3).LenData = 13: ECBlockTable(1, 3).LenEC = 13: ECBlockTable(1, 3).BlockCount(1) = 1: ECBlockTable(1, 3).LenBlock(1) = 13
    ECBlockTable(1, 4).LenData = 9: ECBlockTable(1, 4).LenEC = 17: ECBlockTable(1, 4).BlockCount(1) = 1: ECBlockTable(1, 4).LenBlock(1) = 9
    ECBlockTable(2, 1).LenData = 34: ECBlockTable(2, 1).LenEC = 10: ECBlockTable(2, 1).BlockCount(1) = 1: ECBlockTable(2, 1).LenBlock(1) = 34
    ECBlockTable(2, 2).LenData = 28: ECBlockTable(2, 2).LenEC = 16: ECBlockTable(2, 2).BlockCount(1) = 1: ECBlockTable(2, 2).LenBlock(1) = 28
    ECBlockTable(2, 3).LenData = 22: ECBlockTable(2, 3).LenEC = 22: ECBlockTable(2, 3).BlockCount(1) = 1: ECBlockTable(2, 3).LenBlock(1) = 22
    ECBlockTable(2, 4).LenData = 16: ECBlockTable(2, 4).LenEC = 28: ECBlockTable(2, 4).BlockCount(1) = 1: ECBlockTable(2, 4).LenBlock(1) = 16
    ECBlockTable(3, 1).LenData = 55: ECBlockTable(3, 1).LenEC = 15: ECBlockTable(3, 1).BlockCount(1) = 1: ECBlockTable(3, 1).LenBlock(1) = 55
    ECBlockTable(3, 2).LenData = 44: ECBlockTable(3, 2).LenEC = 26: ECBlockTable(3, 2).BlockCount(1) = 1: ECBlockTable(3, 2).LenBlock(1) = 44
    ECBlockTable(3, 3).LenData = 34: ECBlockTable(3, 3).LenEC = 18: ECBlockTable(3, 3).BlockCount(1) = 2: ECBlockTable(3, 3).LenBlock(1) = 17
    ECBlockTable(3, 4).LenData = 26: ECBlockTable(3, 4).LenEC = 22: ECBlockTable(3, 4).BlockCount(1) = 2: ECBlockTable(3, 4).LenBlock(1) = 13
    ECBlockTable(4, 1).LenData = 80: ECBlockTable(4, 1).LenEC = 20: ECBlockTable(4, 1).BlockCount(1) = 1: ECBlockTable(4, 1).LenBlock(1) = 80
    ECBlockTable(4, 2).LenData = 64: ECBlockTable(4, 2).LenEC = 18: ECBlockTable(4, 2).BlockCount(1) = 2: ECBlockTable(4, 2).LenBlock(1) = 32
    ECBlockTable(4, 3).LenData = 48: ECBlockTable(4, 3).LenEC = 26: ECBlockTable(4, 3).BlockCount(1) = 2: ECBlockTable(4, 3).LenBlock(1) = 24
    ECBlockTable(4, 4).LenData = 36: ECBlockTable(4, 4).LenEC = 16: ECBlockTable(4, 4).BlockCount(1) = 4: ECBlockTable(4, 4).LenBlock(1) = 9
    ECBlockTable(5, 1).LenData = 108: ECBlockTable(5, 1).LenEC = 26: ECBlockTable(5, 1).BlockCount(1) = 1: ECBlockTable(5, 1).LenBlock(1) = 108
    ECBlockTable(5, 2).LenData = 86: ECBlockTable(5, 2).LenEC = 24: ECBlockTable(5, 2).BlockCount(1) = 2: ECBlockTable(5, 2).LenBlock(1) = 43
    ECBlockTable(5, 3).LenData = 62: ECBlockTable(5, 3).LenEC = 18: ECBlockTable(5, 3).BlockCount(1) = 2: ECBlockTable(5, 3).LenBlock(1) = 15: ECBlockTable(5, 3).BlockCount(2) = 2: ECBlockTable(5, 3).LenBlock(2) = 16
    ECBlockTable(5, 4).LenData = 46: ECBlockTable(5, 4).LenEC = 22: ECBlockTable(5, 4).BlockCount(1) = 2: ECBlockTable(5, 4).LenBlock(1) = 11: ECBlockTable(5, 4).BlockCount(2) = 2: ECBlockTable(5, 4).LenBlock(2) = 12
    ECBlockTable(6, 1).LenData = 136: ECBlockTable(6, 1).LenEC = 18: ECBlockTable(6, 1).BlockCount(1) = 2: ECBlockTable(6, 1).LenBlock(1) = 68
    ECBlockTable(6, 2).LenData = 108: ECBlockTable(6, 2).LenEC = 16: ECBlockTable(6, 2).BlockCount(1) = 4: ECBlockTable(6, 2).LenBlock(1) = 27
    ECBlockTable(6, 3).LenData = 76: ECBlockTable(6, 3).LenEC = 24: ECBlockTable(6, 3).BlockCount(1) = 4: ECBlockTable(6, 3).LenBlock(1) = 19
    ECBlockTable(6, 4).LenData = 60: ECBlockTable(6, 4).LenEC = 28: ECBlockTable(6, 4).BlockCount(1) = 4: ECBlockTable(6, 4).LenBlock(1) = 15
    ECBlockTable(7, 1).LenData = 156: ECBlockTable(7, 1).LenEC = 20: ECBlockTable(7, 1).BlockCount(1) = 2: ECBlockTable(7, 1).LenBlock(1) = 78
    ECBlockTable(7, 2).LenData = 124: ECBlockTable(7, 2).LenEC = 18: ECBlockTable(7, 2).BlockCount(1) = 4: ECBlockTable(7, 2).LenBlock(1) = 31
    ECBlockTable(7, 3).LenData = 88: ECBlockTable(7, 3).LenEC = 18: ECBlockTable(7, 3).BlockCount(1) = 2: ECBlockTable(7, 3).LenBlock(1) = 14: ECBlockTable(7, 3).BlockCount(2) = 4: ECBlockTable(7, 3).LenBlock(2) = 15
    ECBlockTable(7, 4).LenData = 66: ECBlockTable(7, 4).LenEC = 26: ECBlockTable(7, 4).BlockCount(1) = 4: ECBlockTable(7, 4).LenBlock(1) = 13: ECBlockTable(7, 4).BlockCount(2) = 1: ECBlockTable(7, 4).LenBlock(2) = 14
    ECBlockTable(8, 1).LenData = 194: ECBlockTable(8, 1).LenEC = 24: ECBlockTable(8, 1).BlockCount(1) = 2: ECBlockTable(8, 1).LenBlock(1) = 97
    ECBlockTable(8, 2).LenData = 154: ECBlockTable(8, 2).LenEC = 22: ECBlockTable(8, 2).BlockCount(1) = 2: ECBlockTable(8, 2).LenBlock(1) = 38: ECBlockTable(8, 2).BlockCount(2) = 2: ECBlockTable(8, 2).LenBlock(2) = 39
    ECBlockTable(8, 3).LenData = 110: ECBlockTable(8, 3).LenEC = 22: ECBlockTable(8, 3).BlockCount(1) = 4: ECBlockTable(8, 3).LenBlock(1) = 18: ECBlockTable(8, 3).BlockCount(2) = 2: ECBlockTable(8, 3).LenBlock(2) = 19
    ECBlockTable(8, 4).LenData = 86: ECBlockTable(8, 4).LenEC = 26: ECBlockTable(8, 4).BlockCount(1) = 4: ECBlockTable(8, 4).LenBlock(1) = 14: ECBlockTable(8, 4).BlockCount(2) = 2: ECBlockTable(8, 4).LenBlock(2) = 15
    ECBlockTable(9, 1).LenData = 232: ECBlockTable(9, 1).LenEC = 30: ECBlockTable(9, 1).BlockCount(1) = 2: ECBlockTable(9, 1).LenBlock(1) = 116
    ECBlockTable(9, 2).LenData = 182: ECBlockTable(9, 2).LenEC = 22: ECBlockTable(9, 2).BlockCount(1) = 3: ECBlockTable(9, 2).LenBlock(1) = 36: ECBlockTable(9, 2).BlockCount(2) = 2: ECBlockTable(9, 2).LenBlock(2) = 37
    ECBlockTable(9, 3).LenData = 132: ECBlockTable(9, 3).LenEC = 20: ECBlockTable(9, 3).BlockCount(1) = 4: ECBlockTable(9, 3).LenBlock(1) = 16: ECBlockTable(9, 3).BlockCount(2) = 4: ECBlockTable(9, 3).LenBlock(2) = 17
    ECBlockTable(9, 4).LenData = 100: ECBlockTable(9, 4).LenEC = 24: ECBlockTable(9, 4).BlockCount(1) = 4: ECBlockTable(9, 4).LenBlock(1) = 12: ECBlockTable(9, 4).BlockCount(2) = 4: ECBlockTable(9, 4).LenBlock(2) = 13
    ECBlockTable(10, 1).LenData = 274: ECBlockTable(10, 1).LenEC = 18: ECBlockTable(10, 1).BlockCount(1) = 2: ECBlockTable(10, 1).LenBlock(1) = 68: ECBlockTable(10, 1).BlockCount(2) = 2: ECBlockTable(10, 1).LenBlock(2) = 69
    ECBlockTable(10, 2).LenData = 216: ECBlockTable(10, 2).LenEC = 26: ECBlockTable(10, 2).BlockCount(1) = 4: ECBlockTable(10, 2).LenBlock(1) = 43: ECBlockTable(10, 2).BlockCount(2) = 1: ECBlockTable(10, 2).LenBlock(2) = 44
    ECBlockTable(10, 3).LenData = 154: ECBlockTable(10, 3).LenEC = 24: ECBlockTable(10, 3).BlockCount(1) = 6: ECBlockTable(10, 3).LenBlock(1) = 19: ECBlockTable(10, 3).BlockCount(2) = 2: ECBlockTable(10, 3).LenBlock(2) = 20
    ECBlockTable(10, 4).LenData = 122: ECBlockTable(10, 4).LenEC = 28: ECBlockTable(10, 4).BlockCount(1) = 6: ECBlockTable(10, 4).LenBlock(1) = 15: ECBlockTable(10, 4).BlockCount(2) = 2: ECBlockTable(10, 4).LenBlock(2) = 16
    ECBlockTable(11, 1).LenData = 324: ECBlockTable(11, 1).LenEC = 20: ECBlockTable(11, 1).BlockCount(1) = 4: ECBlockTable(11, 1).LenBlock(1) = 81
    ECBlockTable(11, 2).LenData = 254: ECBlockTable(11, 2).LenEC = 30: ECBlockTable(11, 2).BlockCount(1) = 1: ECBlockTable(11, 2).LenBlock(1) = 50: ECBlockTable(11, 2).BlockCount(2) = 4: ECBlockTable(11, 2).LenBlock(2) = 51
    ECBlockTable(11, 3).LenData = 180: ECBlockTable(11, 3).LenEC = 28: ECBlockTable(11, 3).BlockCount(1) = 4: ECBlockTable(11, 3).LenBlock(1) = 22: ECBlockTable(11, 3).BlockCount(2) = 4: ECBlockTable(11, 3).LenBlock(2) = 23
    ECBlockTable(11, 4).LenData = 140: ECBlockTable(11, 4).LenEC = 24: ECBlockTable(11, 4).BlockCount(1) = 3: ECBlockTable(11, 4).LenBlock(1) = 12: ECBlockTable(11, 4).BlockCount(2) = 8: ECBlockTable(11, 4).LenBlock(2) = 13
    ECBlockTable(12, 1).LenData = 370: ECBlockTable(12, 1).LenEC = 24: ECBlockTable(12, 1).BlockCount(1) = 2: ECBlockTable(12, 1).LenBlock(1) = 92: ECBlockTable(12, 1).BlockCount(2) = 2: ECBlockTable(12, 1).LenBlock(2) = 93
    ECBlockTable(12, 2).LenData = 290: ECBlockTable(12, 2).LenEC = 22: ECBlockTable(12, 2).BlockCount(1) = 6: ECBlockTable(12, 2).LenBlock(1) = 36: ECBlockTable(12, 2).BlockCount(2) = 2: ECBlockTable(12, 2).LenBlock(2) = 37
    ECBlockTable(12, 3).LenData = 206: ECBlockTable(12, 3).LenEC = 26: ECBlockTable(12, 3).BlockCount(1) = 4: ECBlockTable(12, 3).LenBlock(1) = 20: ECBlockTable(12, 3).BlockCount(2) = 6: ECBlockTable(12, 3).LenBlock(2) = 21
    ECBlockTable(12, 4).LenData = 158: ECBlockTable(12, 4).LenEC = 28: ECBlockTable(12, 4).BlockCount(1) = 7: ECBlockTable(12, 4).LenBlock(1) = 14: ECBlockTable(12, 4).BlockCount(2) = 4: ECBlockTable(12, 4).LenBlock(2) = 15
    ECBlockTable(13, 1).LenData = 428: ECBlockTable(13, 1).LenEC = 26: ECBlockTable(13, 1).BlockCount(1) = 4: ECBlockTable(13, 1).LenBlock(1) = 107
    ECBlockTable(13, 2).LenData = 334: ECBlockTable(13, 2).LenEC = 22: ECBlockTable(13, 2).BlockCount(1) = 8: ECBlockTable(13, 2).LenBlock(1) = 37: ECBlockTable(13, 2).BlockCount(2) = 1: ECBlockTable(13, 2).LenBlock(2) = 38
    ECBlockTable(13, 3).LenData = 244: ECBlockTable(13, 3).LenEC = 24: ECBlockTable(13, 3).BlockCount(1) = 8: ECBlockTable(13, 3).LenBlock(1) = 20: ECBlockTable(13, 3).BlockCount(2) = 4: ECBlockTable(13, 3).LenBlock(2) = 21
    ECBlockTable(13, 4).LenData = 180: ECBlockTable(13, 4).LenEC = 22: ECBlockTable(13, 4).BlockCount(1) = 12: ECBlockTable(13, 4).LenBlock(1) = 11: ECBlockTable(13, 4).BlockCount(2) = 4: ECBlockTable(13, 4).LenBlock(2) = 12
    ECBlockTable(14, 1).LenData = 461: ECBlockTable(14, 1).LenEC = 30: ECBlockTable(14, 1).BlockCount(1) = 3: ECBlockTable(14, 1).LenBlock(1) = 115: ECBlockTable(14, 1).BlockCount(2) = 1: ECBlockTable(14, 1).LenBlock(2) = 116
    ECBlockTable(14, 2).LenData = 365: ECBlockTable(14, 2).LenEC = 24: ECBlockTable(14, 2).BlockCount(1) = 4: ECBlockTable(14, 2).LenBlock(1) = 40: ECBlockTable(14, 2).BlockCount(2) = 5: ECBlockTable(14, 2).LenBlock(2) = 41
    ECBlockTable(14, 3).LenData = 261: ECBlockTable(14, 3).LenEC = 20: ECBlockTable(14, 3).BlockCount(1) = 11: ECBlockTable(14, 3).LenBlock(1) = 16: ECBlockTable(14, 3).BlockCount(2) = 5: ECBlockTable(14, 3).LenBlock(2) = 17
    ECBlockTable(14, 4).LenData = 197: ECBlockTable(14, 4).LenEC = 24: ECBlockTable(14, 4).BlockCount(1) = 11: ECBlockTable(14, 4).LenBlock(1) = 12: ECBlockTable(14, 4).BlockCount(2) = 5: ECBlockTable(14, 4).LenBlock(2) = 13
    ECBlockTable(15, 1).LenData = 523: ECBlockTable(15, 1).LenEC = 22: ECBlockTable(15, 1).BlockCount(1) = 5: ECBlockTable(15, 1).LenBlock(1) = 87: ECBlockTable(15, 1).BlockCount(2) = 1: ECBlockTable(15, 1).LenBlock(2) = 88
    ECBlockTable(15, 2).LenData = 415: ECBlockTable(15, 2).LenEC = 24: ECBlockTable(15, 2).BlockCount(1) = 5: ECBlockTable(15, 2).LenBlock(1) = 41: ECBlockTable(15, 2).BlockCount(2) = 5: ECBlockTable(15, 2).LenBlock(2) = 42
    ECBlockTable(15, 3).LenData = 295: ECBlockTable(15, 3).LenEC = 30: ECBlockTable(15, 3).BlockCount(1) = 5: ECBlockTable(15, 3).LenBlock(1) = 24: ECBlockTable(15, 3).BlockCount(2) = 7: ECBlockTable(15, 3).LenBlock(2) = 25
    ECBlockTable(15, 4).LenData = 223: ECBlockTable(15, 4).LenEC = 24: ECBlockTable(15, 4).BlockCount(1) = 11: ECBlockTable(15, 4).LenBlock(1) = 12: ECBlockTable(15, 4).BlockCount(2) = 7: ECBlockTable(15, 4).LenBlock(2) = 13
    ECBlockTable(16, 1).LenData = 589: ECBlockTable(16, 1).LenEC = 24: ECBlockTable(16, 1).BlockCount(1) = 5: ECBlockTable(16, 1).LenBlock(1) = 98: ECBlockTable(16, 1).BlockCount(2) = 1: ECBlockTable(16, 1).LenBlock(2) = 99
    ECBlockTable(16, 2).LenData = 453: ECBlockTable(16, 2).LenEC = 28: ECBlockTable(16, 2).BlockCount(1) = 7: ECBlockTable(16, 2).LenBlock(1) = 45: ECBlockTable(16, 2).BlockCount(2) = 3: ECBlockTable(16, 2).LenBlock(2) = 46
    ECBlockTable(16, 3).LenData = 325: ECBlockTable(16, 3).LenEC = 24: ECBlockTable(16, 3).BlockCount(1) = 15: ECBlockTable(16, 3).LenBlock(1) = 19: ECBlockTable(16, 3).BlockCount(2) = 2: ECBlockTable(16, 3).LenBlock(2) = 20
    ECBlockTable(16, 4).LenData = 253: ECBlockTable(16, 4).LenEC = 30: ECBlockTable(16, 4).BlockCount(1) = 3: ECBlockTable(16, 4).LenBlock(1) = 15: ECBlockTable(16, 4).BlockCount(2) = 13: ECBlockTable(16, 4).LenBlock(2) = 16
    ECBlockTable(17, 1).LenData = 647: ECBlockTable(17, 1).LenEC = 28: ECBlockTable(17, 1).BlockCount(1) = 1: ECBlockTable(17, 1).LenBlock(1) = 107: ECBlockTable(17, 1).BlockCount(2) = 5: ECBlockTable(17, 1).LenBlock(2) = 108
    ECBlockTable(17, 2).LenData = 507: ECBlockTable(17, 2).LenEC = 28: ECBlockTable(17, 2).BlockCount(1) = 10: ECBlockTable(17, 2).LenBlock(1) = 46: ECBlockTable(17, 2).BlockCount(2) = 1: ECBlockTable(17, 2).LenBlock(2) = 47
    ECBlockTable(17, 3).LenData = 367: ECBlockTable(17, 3).LenEC = 28: ECBlockTable(17, 3).BlockCount(1) = 1: ECBlockTable(17, 3).LenBlock(1) = 22: ECBlockTable(17, 3).BlockCount(2) = 15: ECBlockTable(17, 3).LenBlock(2) = 23
    ECBlockTable(17, 4).LenData = 283: ECBlockTable(17, 4).LenEC = 28: ECBlockTable(17, 4).BlockCount(1) = 2: ECBlockTable(17, 4).LenBlock(1) = 14: ECBlockTable(17, 4).BlockCount(2) = 17: ECBlockTable(17, 4).LenBlock(2) = 15
    ECBlockTable(18, 1).LenData = 721: ECBlockTable(18, 1).LenEC = 30: ECBlockTable(18, 1).BlockCount(1) = 5: ECBlockTable(18, 1).LenBlock(1) = 120: ECBlockTable(18, 1).BlockCount(2) = 1: ECBlockTable(18, 1).LenBlock(2) = 121
    ECBlockTable(18, 2).LenData = 563: ECBlockTable(18, 2).LenEC = 26: ECBlockTable(18, 2).BlockCount(1) = 9: ECBlockTable(18, 2).LenBlock(1) = 43: ECBlockTable(18, 2).BlockCount(2) = 4: ECBlockTable(18, 2).LenBlock(2) = 44
    ECBlockTable(18, 3).LenData = 397: ECBlockTable(18, 3).LenEC = 28: ECBlockTable(18, 3).BlockCount(1) = 17: ECBlockTable(18, 3).LenBlock(1) = 22: ECBlockTable(18, 3).BlockCount(2) = 1: ECBlockTable(18, 3).LenBlock(2) = 23
    ECBlockTable(18, 4).LenData = 313: ECBlockTable(18, 4).LenEC = 28: ECBlockTable(18, 4).BlockCount(1) = 2: ECBlockTable(18, 4).LenBlock(1) = 14: ECBlockTable(18, 4).BlockCount(2) = 19: ECBlockTable(18, 4).LenBlock(2) = 15
    ECBlockTable(19, 1).LenData = 795: ECBlockTable(19, 1).LenEC = 28: ECBlockTable(19, 1).BlockCount(1) = 3: ECBlockTable(19, 1).LenBlock(1) = 113: ECBlockTable(19, 1).BlockCount(2) = 4: ECBlockTable(19, 1).LenBlock(2) = 114
    ECBlockTable(19, 2).LenData = 627: ECBlockTable(19, 2).LenEC = 26: ECBlockTable(19, 2).BlockCount(1) = 3: ECBlockTable(19, 2).LenBlock(1) = 44: ECBlockTable(19, 2).BlockCount(2) = 11: ECBlockTable(19, 2).LenBlock(2) = 45
    ECBlockTable(19, 3).LenData = 445: ECBlockTable(19, 3).LenEC = 26: ECBlockTable(19, 3).BlockCount(1) = 17: ECBlockTable(19, 3).LenBlock(1) = 21: ECBlockTable(19, 3).BlockCount(2) = 4: ECBlockTable(19, 3).LenBlock(2) = 22
    ECBlockTable(19, 4).LenData = 341: ECBlockTable(19, 4).LenEC = 26: ECBlockTable(19, 4).BlockCount(1) = 9: ECBlockTable(19, 4).LenBlock(1) = 13: ECBlockTable(19, 4).BlockCount(2) = 16: ECBlockTable(19, 4).LenBlock(2) = 14
    ECBlockTable(20, 1).LenData = 861: ECBlockTable(20, 1).LenEC = 28: ECBlockTable(20, 1).BlockCount(1) = 3: ECBlockTable(20, 1).LenBlock(1) = 107: ECBlockTable(20, 1).BlockCount(2) = 5: ECBlockTable(20, 1).LenBlock(2) = 108
    ECBlockTable(20, 2).LenData = 669: ECBlockTable(20, 2).LenEC = 26: ECBlockTable(20, 2).BlockCount(1) = 3: ECBlockTable(20, 2).LenBlock(1) = 41: ECBlockTable(20, 2).BlockCount(2) = 13: ECBlockTable(20, 2).LenBlock(2) = 42
    ECBlockTable(20, 3).LenData = 485: ECBlockTable(20, 3).LenEC = 30: ECBlockTable(20, 3).BlockCount(1) = 15: ECBlockTable(20, 3).LenBlock(1) = 24: ECBlockTable(20, 3).BlockCount(2) = 5: ECBlockTable(20, 3).LenBlock(2) = 25
    ECBlockTable(20, 4).LenData = 385: ECBlockTable(20, 4).LenEC = 28: ECBlockTable(20, 4).BlockCount(1) = 15: ECBlockTable(20, 4).LenBlock(1) = 15: ECBlockTable(20, 4).BlockCount(2) = 10: ECBlockTable(20, 4).LenBlock(2) = 16
    ECBlockTable(21, 1).LenData = 932: ECBlockTable(21, 1).LenEC = 28: ECBlockTable(21, 1).BlockCount(1) = 4: ECBlockTable(21, 1).LenBlock(1) = 116: ECBlockTable(21, 1).BlockCount(2) = 4: ECBlockTable(21, 1).LenBlock(2) = 117
    ECBlockTable(21, 2).LenData = 714: ECBlockTable(21, 2).LenEC = 26: ECBlockTable(21, 2).BlockCount(1) = 17: ECBlockTable(21, 2).LenBlock(1) = 42
    ECBlockTable(21, 3).LenData = 512: ECBlockTable(21, 3).LenEC = 28: ECBlockTable(21, 3).BlockCount(1) = 17: ECBlockTable(21, 3).LenBlock(1) = 22: ECBlockTable(21, 3).BlockCount(2) = 6: ECBlockTable(21, 3).LenBlock(2) = 23
    ECBlockTable(21, 4).LenData = 406: ECBlockTable(21, 4).LenEC = 30: ECBlockTable(21, 4).BlockCount(1) = 19: ECBlockTable(21, 4).LenBlock(1) = 16: ECBlockTable(21, 4).BlockCount(2) = 6: ECBlockTable(21, 4).LenBlock(2) = 17
    ECBlockTable(22, 1).LenData = 1006: ECBlockTable(22, 1).LenEC = 28: ECBlockTable(22, 1).BlockCount(1) = 2: ECBlockTable(22, 1).LenBlock(1) = 111: ECBlockTable(22, 1).BlockCount(2) = 7: ECBlockTable(22, 1).LenBlock(2) = 112
    ECBlockTable(22, 2).LenData = 782: ECBlockTable(22, 2).LenEC = 28: ECBlockTable(22, 2).BlockCount(1) = 17: ECBlockTable(22, 2).LenBlock(1) = 46
    ECBlockTable(22, 3).LenData = 568: ECBlockTable(22, 3).LenEC = 30: ECBlockTable(22, 3).BlockCount(1) = 7: ECBlockTable(22, 3).LenBlock(1) = 24: ECBlockTable(22, 3).BlockCount(2) = 16: ECBlockTable(22, 3).LenBlock(2) = 25
    ECBlockTable(22, 4).LenData = 442: ECBlockTable(22, 4).LenEC = 24: ECBlockTable(22, 4).BlockCount(1) = 34: ECBlockTable(22, 4).LenBlock(1) = 13
    ECBlockTable(23, 1).LenData = 1094: ECBlockTable(23, 1).LenEC = 30: ECBlockTable(23, 1).BlockCount(1) = 4: ECBlockTable(23, 1).LenBlock(1) = 121: ECBlockTable(23, 1).BlockCount(2) = 5: ECBlockTable(23, 1).LenBlock(2) = 122
    ECBlockTable(23, 2).LenData = 860: ECBlockTable(23, 2).LenEC = 28: ECBlockTable(23, 2).BlockCount(1) = 4: ECBlockTable(23, 2).LenBlock(1) = 47: ECBlockTable(23, 2).BlockCount(2) = 14: ECBlockTable(23, 2).LenBlock(2) = 48
    ECBlockTable(23, 3).LenData = 614: ECBlockTable(23, 3).LenEC = 30: ECBlockTable(23, 3).BlockCount(1) = 11: ECBlockTable(23, 3).LenBlock(1) = 24: ECBlockTable(23, 3).BlockCount(2) = 14: ECBlockTable(23, 3).LenBlock(2) = 25
    ECBlockTable(23, 4).LenData = 464: ECBlockTable(23, 4).LenEC = 30: ECBlockTable(23, 4).BlockCount(1) = 16: ECBlockTable(23, 4).LenBlock(1) = 15: ECBlockTable(23, 4).BlockCount(2) = 14: ECBlockTable(23, 4).LenBlock(2) = 16
    ECBlockTable(24, 1).LenData = 1174: ECBlockTable(24, 1).LenEC = 30: ECBlockTable(24, 1).BlockCount(1) = 6: ECBlockTable(24, 1).LenBlock(1) = 117: ECBlockTable(24, 1).BlockCount(2) = 4: ECBlockTable(24, 1).LenBlock(2) = 118
    ECBlockTable(24, 2).LenData = 914: ECBlockTable(24, 2).LenEC = 28: ECBlockTable(24, 2).BlockCount(1) = 6: ECBlockTable(24, 2).LenBlock(1) = 45: ECBlockTable(24, 2).BlockCount(2) = 14: ECBlockTable(24, 2).LenBlock(2) = 46
    ECBlockTable(24, 3).LenData = 664: ECBlockTable(24, 3).LenEC = 30: ECBlockTable(24, 3).BlockCount(1) = 11: ECBlockTable(24, 3).LenBlock(1) = 24: ECBlockTable(24, 3).BlockCount(2) = 16: ECBlockTable(24, 3).LenBlock(2) = 25
    ECBlockTable(24, 4).LenData = 514: ECBlockTable(24, 4).LenEC = 30: ECBlockTable(24, 4).BlockCount(1) = 30: ECBlockTable(24, 4).LenBlock(1) = 16: ECBlockTable(24, 4).BlockCount(2) = 2: ECBlockTable(24, 4).LenBlock(2) = 17
    ECBlockTable(25, 1).LenData = 1276: ECBlockTable(25, 1).LenEC = 26: ECBlockTable(25, 1).BlockCount(1) = 8: ECBlockTable(25, 1).LenBlock(1) = 106: ECBlockTable(25, 1).BlockCount(2) = 4: ECBlockTable(25, 1).LenBlock(2) = 107
    ECBlockTable(25, 2).LenData = 1000: ECBlockTable(25, 2).LenEC = 28: ECBlockTable(25, 2).BlockCount(1) = 8: ECBlockTable(25, 2).LenBlock(1) = 47: ECBlockTable(25, 2).BlockCount(2) = 13: ECBlockTable(25, 2).LenBlock(2) = 48
    ECBlockTable(25, 3).LenData = 718: ECBlockTable(25, 3).LenEC = 30: ECBlockTable(25, 3).BlockCount(1) = 7: ECBlockTable(25, 3).LenBlock(1) = 24: ECBlockTable(25, 3).BlockCount(2) = 22: ECBlockTable(25, 3).LenBlock(2) = 25
    ECBlockTable(25, 4).LenData = 538: ECBlockTable(25, 4).LenEC = 30: ECBlockTable(25, 4).BlockCount(1) = 22: ECBlockTable(25, 4).LenBlock(1) = 15: ECBlockTable(25, 4).BlockCount(2) = 13: ECBlockTable(25, 4).LenBlock(2) = 16
    ECBlockTable(26, 1).LenData = 1370: ECBlockTable(26, 1).LenEC = 28: ECBlockTable(26, 1).BlockCount(1) = 10: ECBlockTable(26, 1).LenBlock(1) = 114: ECBlockTable(26, 1).BlockCount(2) = 2: ECBlockTable(26, 1).LenBlock(2) = 115
    ECBlockTable(26, 2).LenData = 1062: ECBlockTable(26, 2).LenEC = 28: ECBlockTable(26, 2).BlockCount(1) = 19: ECBlockTable(26, 2).LenBlock(1) = 46: ECBlockTable(26, 2).BlockCount(2) = 4: ECBlockTable(26, 2).LenBlock(2) = 47
    ECBlockTable(26, 3).LenData = 754: ECBlockTable(26, 3).LenEC = 28: ECBlockTable(26, 3).BlockCount(1) = 28: ECBlockTable(26, 3).LenBlock(1) = 22: ECBlockTable(26, 3).BlockCount(2) = 6: ECBlockTable(26, 3).LenBlock(2) = 23
    ECBlockTable(26, 4).LenData = 596: ECBlockTable(26, 4).LenEC = 30: ECBlockTable(26, 4).BlockCount(1) = 33: ECBlockTable(26, 4).LenBlock(1) = 16: ECBlockTable(26, 4).BlockCount(2) = 4: ECBlockTable(26, 4).LenBlock(2) = 17
    ECBlockTable(27, 1).LenData = 1468: ECBlockTable(27, 1).LenEC = 30: ECBlockTable(27, 1).BlockCount(1) = 8: ECBlockTable(27, 1).LenBlock(1) = 122: ECBlockTable(27, 1).BlockCount(2) = 4: ECBlockTable(27, 1).LenBlock(2) = 123
    ECBlockTable(27, 2).LenData = 1128: ECBlockTable(27, 2).LenEC = 28: ECBlockTable(27, 2).BlockCount(1) = 22: ECBlockTable(27, 2).LenBlock(1) = 45: ECBlockTable(27, 2).BlockCount(2) = 3: ECBlockTable(27, 2).LenBlock(2) = 46
    ECBlockTable(27, 3).LenData = 808: ECBlockTable(27, 3).LenEC = 30: ECBlockTable(27, 3).BlockCount(1) = 8: ECBlockTable(27, 3).LenBlock(1) = 23: ECBlockTable(27, 3).BlockCount(2) = 26: ECBlockTable(27, 3).LenBlock(2) = 24
    ECBlockTable(27, 4).LenData = 628: ECBlockTable(27, 4).LenEC = 30: ECBlockTable(27, 4).BlockCount(1) = 12: ECBlockTable(27, 4).LenBlock(1) = 15: ECBlockTable(27, 4).BlockCount(2) = 28: ECBlockTable(27, 4).LenBlock(2) = 16
    ECBlockTable(28, 1).LenData = 1531: ECBlockTable(28, 1).LenEC = 30: ECBlockTable(28, 1).BlockCount(1) = 3: ECBlockTable(28, 1).LenBlock(1) = 117: ECBlockTable(28, 1).BlockCount(2) = 10: ECBlockTable(28, 1).LenBlock(2) = 118
    ECBlockTable(28, 2).LenData = 1193: ECBlockTable(28, 2).LenEC = 28: ECBlockTable(28, 2).BlockCount(1) = 3: ECBlockTable(28, 2).LenBlock(1) = 45: ECBlockTable(28, 2).BlockCount(2) = 23: ECBlockTable(28, 2).LenBlock(2) = 46
    ECBlockTable(28, 3).LenData = 871: ECBlockTable(28, 3).LenEC = 30: ECBlockTable(28, 3).BlockCount(1) = 4: ECBlockTable(28, 3).LenBlock(1) = 24: ECBlockTable(28, 3).BlockCount(2) = 31: ECBlockTable(28, 3).LenBlock(2) = 25
    ECBlockTable(28, 4).LenData = 661: ECBlockTable(28, 4).LenEC = 30: ECBlockTable(28, 4).BlockCount(1) = 11: ECBlockTable(28, 4).LenBlock(1) = 15: ECBlockTable(28, 4).BlockCount(2) = 31: ECBlockTable(28, 4).LenBlock(2) = 16
    ECBlockTable(29, 1).LenData = 1631: ECBlockTable(29, 1).LenEC = 30: ECBlockTable(29, 1).BlockCount(1) = 7: ECBlockTable(29, 1).LenBlock(1) = 116: ECBlockTable(29, 1).BlockCount(2) = 7: ECBlockTable(29, 1).LenBlock(2) = 117
    ECBlockTable(29, 2).LenData = 1267: ECBlockTable(29, 2).LenEC = 28: ECBlockTable(29, 2).BlockCount(1) = 21: ECBlockTable(29, 2).LenBlock(1) = 45: ECBlockTable(29, 2).BlockCount(2) = 7: ECBlockTable(29, 2).LenBlock(2) = 46
    ECBlockTable(29, 3).LenData = 911: ECBlockTable(29, 3).LenEC = 30: ECBlockTable(29, 3).BlockCount(1) = 1: ECBlockTable(29, 3).LenBlock(1) = 23: ECBlockTable(29, 3).BlockCount(2) = 37: ECBlockTable(29, 3).LenBlock(2) = 24
    ECBlockTable(29, 4).LenData = 701: ECBlockTable(29, 4).LenEC = 30: ECBlockTable(29, 4).BlockCount(1) = 19: ECBlockTable(29, 4).LenBlock(1) = 15: ECBlockTable(29, 4).BlockCount(2) = 26: ECBlockTable(29, 4).LenBlock(2) = 16
    ECBlockTable(30, 1).LenData = 1735: ECBlockTable(30, 1).LenEC = 30: ECBlockTable(30, 1).BlockCount(1) = 5: ECBlockTable(30, 1).LenBlock(1) = 115: ECBlockTable(30, 1).BlockCount(2) = 10: ECBlockTable(30, 1).LenBlock(2) = 116
    ECBlockTable(30, 2).LenData = 1373: ECBlockTable(30, 2).LenEC = 28: ECBlockTable(30, 2).BlockCount(1) = 19: ECBlockTable(30, 2).LenBlock(1) = 47: ECBlockTable(30, 2).BlockCount(2) = 10: ECBlockTable(30, 2).LenBlock(2) = 48
    ECBlockTable(30, 3).LenData = 985: ECBlockTable(30, 3).LenEC = 30: ECBlockTable(30, 3).BlockCount(1) = 15: ECBlockTable(30, 3).LenBlock(1) = 24: ECBlockTable(30, 3).BlockCount(2) = 25: ECBlockTable(30, 3).LenBlock(2) = 25
    ECBlockTable(30, 4).LenData = 745: ECBlockTable(30, 4).LenEC = 30: ECBlockTable(30, 4).BlockCount(1) = 23: ECBlockTable(30, 4).LenBlock(1) = 15: ECBlockTable(30, 4).BlockCount(2) = 25: ECBlockTable(30, 4).LenBlock(2) = 16
    ECBlockTable(31, 1).LenData = 1843: ECBlockTable(31, 1).LenEC = 30: ECBlockTable(31, 1).BlockCount(1) = 13: ECBlockTable(31, 1).LenBlock(1) = 115: ECBlockTable(31, 1).BlockCount(2) = 3: ECBlockTable(31, 1).LenBlock(2) = 116
    ECBlockTable(31, 2).LenData = 1455: ECBlockTable(31, 2).LenEC = 28: ECBlockTable(31, 2).BlockCount(1) = 2: ECBlockTable(31, 2).LenBlock(1) = 46: ECBlockTable(31, 2).BlockCount(2) = 29: ECBlockTable(31, 2).LenBlock(2) = 47
    ECBlockTable(31, 3).LenData = 1033: ECBlockTable(31, 3).LenEC = 30: ECBlockTable(31, 3).BlockCount(1) = 42: ECBlockTable(31, 3).LenBlock(1) = 24: ECBlockTable(31, 3).BlockCount(2) = 1: ECBlockTable(31, 3).LenBlock(2) = 25
    ECBlockTable(31, 4).LenData = 793: ECBlockTable(31, 4).LenEC = 30: ECBlockTable(31, 4).BlockCount(1) = 23: ECBlockTable(31, 4).LenBlock(1) = 15: ECBlockTable(31, 4).BlockCount(2) = 28: ECBlockTable(31, 4).LenBlock(2) = 16
    ECBlockTable(32, 1).LenData = 1955: ECBlockTable(32, 1).LenEC = 30: ECBlockTable(32, 1).BlockCount(1) = 17: ECBlockTable(32, 1).LenBlock(1) = 115
    ECBlockTable(32, 2).LenData = 1541: ECBlockTable(32, 2).LenEC = 28: ECBlockTable(32, 2).BlockCount(1) = 10: ECBlockTable(32, 2).LenBlock(1) = 46: ECBlockTable(32, 2).BlockCount(2) = 23: ECBlockTable(32, 2).LenBlock(2) = 47
    ECBlockTable(32, 3).LenData = 1115: ECBlockTable(32, 3).LenEC = 30: ECBlockTable(32, 3).BlockCount(1) = 10: ECBlockTable(32, 3).LenBlock(1) = 24: ECBlockTable(32, 3).BlockCount(2) = 35: ECBlockTable(32, 3).LenBlock(2) = 25
    ECBlockTable(32, 4).LenData = 845: ECBlockTable(32, 4).LenEC = 30: ECBlockTable(32, 4).BlockCount(1) = 19: ECBlockTable(32, 4).LenBlock(1) = 15: ECBlockTable(32, 4).BlockCount(2) = 35: ECBlockTable(32, 4).LenBlock(2) = 16
    ECBlockTable(33, 1).LenData = 2071: ECBlockTable(33, 1).LenEC = 30: ECBlockTable(33, 1).BlockCount(1) = 17: ECBlockTable(33, 1).LenBlock(1) = 115: ECBlockTable(33, 1).BlockCount(2) = 1: ECBlockTable(33, 1).LenBlock(2) = 116
    ECBlockTable(33, 2).LenData = 1631: ECBlockTable(33, 2).LenEC = 28: ECBlockTable(33, 2).BlockCount(1) = 14: ECBlockTable(33, 2).LenBlock(1) = 46: ECBlockTable(33, 2).BlockCount(2) = 21: ECBlockTable(33, 2).LenBlock(2) = 47
    ECBlockTable(33, 3).LenData = 1171: ECBlockTable(33, 3).LenEC = 30: ECBlockTable(33, 3).BlockCount(1) = 29: ECBlockTable(33, 3).LenBlock(1) = 24: ECBlockTable(33, 3).BlockCount(2) = 19: ECBlockTable(33, 3).LenBlock(2) = 25
    ECBlockTable(33, 4).LenData = 901: ECBlockTable(33, 4).LenEC = 30: ECBlockTable(33, 4).BlockCount(1) = 11: ECBlockTable(33, 4).LenBlock(1) = 15: ECBlockTable(33, 4).BlockCount(2) = 46: ECBlockTable(33, 4).LenBlock(2) = 16
    ECBlockTable(34, 1).LenData = 2191: ECBlockTable(34, 1).LenEC = 30: ECBlockTable(34, 1).BlockCount(1) = 13: ECBlockTable(34, 1).LenBlock(1) = 115: ECBlockTable(34, 1).BlockCount(2) = 6: ECBlockTable(34, 1).LenBlock(2) = 116
    ECBlockTable(34, 2).LenData = 1725: ECBlockTable(34, 2).LenEC = 28: ECBlockTable(34, 2).BlockCount(1) = 14: ECBlockTable(34, 2).LenBlock(1) = 46: ECBlockTable(34, 2).BlockCount(2) = 23: ECBlockTable(34, 2).LenBlock(2) = 47
    ECBlockTable(34, 3).LenData = 1231: ECBlockTable(34, 3).LenEC = 30: ECBlockTable(34, 3).BlockCount(1) = 44: ECBlockTable(34, 3).LenBlock(1) = 24: ECBlockTable(34, 3).BlockCount(2) = 7: ECBlockTable(34, 3).LenBlock(2) = 25
    ECBlockTable(34, 4).LenData = 961: ECBlockTable(34, 4).LenEC = 30: ECBlockTable(34, 4).BlockCount(1) = 59: ECBlockTable(34, 4).LenBlock(1) = 16: ECBlockTable(34, 4).BlockCount(2) = 1: ECBlockTable(34, 4).LenBlock(2) = 17
    ECBlockTable(35, 1).LenData = 2306: ECBlockTable(35, 1).LenEC = 30: ECBlockTable(35, 1).BlockCount(1) = 12: ECBlockTable(35, 1).LenBlock(1) = 121: ECBlockTable(35, 1).BlockCount(2) = 7: ECBlockTable(35, 1).LenBlock(2) = 122
    ECBlockTable(35, 2).LenData = 1812: ECBlockTable(35, 2).LenEC = 28: ECBlockTable(35, 2).BlockCount(1) = 12: ECBlockTable(35, 2).LenBlock(1) = 47: ECBlockTable(35, 2).BlockCount(2) = 26: ECBlockTable(35, 2).LenBlock(2) = 48
    ECBlockTable(35, 3).LenData = 1286: ECBlockTable(35, 3).LenEC = 30: ECBlockTable(35, 3).BlockCount(1) = 39: ECBlockTable(35, 3).LenBlock(1) = 24: ECBlockTable(35, 3).BlockCount(2) = 14: ECBlockTable(35, 3).LenBlock(2) = 25
    ECBlockTable(35, 4).LenData = 986: ECBlockTable(35, 4).LenEC = 30: ECBlockTable(35, 4).BlockCount(1) = 22: ECBlockTable(35, 4).LenBlock(1) = 15: ECBlockTable(35, 4).BlockCount(2) = 41: ECBlockTable(35, 4).LenBlock(2) = 16
    ECBlockTable(36, 1).LenData = 2434: ECBlockTable(36, 1).LenEC = 30: ECBlockTable(36, 1).BlockCount(1) = 6: ECBlockTable(36, 1).LenBlock(1) = 121: ECBlockTable(36, 1).BlockCount(2) = 14: ECBlockTable(36, 1).LenBlock(2) = 122
    ECBlockTable(36, 2).LenData = 1914: ECBlockTable(36, 2).LenEC = 28: ECBlockTable(36, 2).BlockCount(1) = 6: ECBlockTable(36, 2).LenBlock(1) = 47: ECBlockTable(36, 2).BlockCount(2) = 34: ECBlockTable(36, 2).LenBlock(2) = 48
    ECBlockTable(36, 3).LenData = 1354: ECBlockTable(36, 3).LenEC = 30: ECBlockTable(36, 3).BlockCount(1) = 46: ECBlockTable(36, 3).LenBlock(1) = 24: ECBlockTable(36, 3).BlockCount(2) = 10: ECBlockTable(36, 3).LenBlock(2) = 25
    ECBlockTable(36, 4).LenData = 1054: ECBlockTable(36, 4).LenEC = 30: ECBlockTable(36, 4).BlockCount(1) = 2: ECBlockTable(36, 4).LenBlock(1) = 15: ECBlockTable(36, 4).BlockCount(2) = 64: ECBlockTable(36, 4).LenBlock(2) = 16
    ECBlockTable(37, 1).LenData = 2566: ECBlockTable(37, 1).LenEC = 30: ECBlockTable(37, 1).BlockCount(1) = 17: ECBlockTable(37, 1).LenBlock(1) = 122: ECBlockTable(37, 1).BlockCount(2) = 4: ECBlockTable(37, 1).LenBlock(2) = 123
    ECBlockTable(37, 2).LenData = 1992: ECBlockTable(37, 2).LenEC = 28: ECBlockTable(37, 2).BlockCount(1) = 29: ECBlockTable(37, 2).LenBlock(1) = 46: ECBlockTable(37, 2).BlockCount(2) = 14: ECBlockTable(37, 2).LenBlock(2) = 47
    ECBlockTable(37, 3).LenData = 1426: ECBlockTable(37, 3).LenEC = 30: ECBlockTable(37, 3).BlockCount(1) = 49: ECBlockTable(37, 3).LenBlock(1) = 24: ECBlockTable(37, 3).BlockCount(2) = 10: ECBlockTable(37, 3).LenBlock(2) = 25
    ECBlockTable(37, 4).LenData = 1096: ECBlockTable(37, 4).LenEC = 30: ECBlockTable(37, 4).BlockCount(1) = 24: ECBlockTable(37, 4).LenBlock(1) = 15: ECBlockTable(37, 4).BlockCount(2) = 46: ECBlockTable(37, 4).LenBlock(2) = 16
    ECBlockTable(38, 1).LenData = 2702: ECBlockTable(38, 1).LenEC = 30: ECBlockTable(38, 1).BlockCount(1) = 4: ECBlockTable(38, 1).LenBlock(1) = 122: ECBlockTable(38, 1).BlockCount(2) = 18: ECBlockTable(38, 1).LenBlock(2) = 123
    ECBlockTable(38, 2).LenData = 2102: ECBlockTable(38, 2).LenEC = 28: ECBlockTable(38, 2).BlockCount(1) = 13: ECBlockTable(38, 2).LenBlock(1) = 46: ECBlockTable(38, 2).BlockCount(2) = 32: ECBlockTable(38, 2).LenBlock(2) = 47
    ECBlockTable(38, 3).LenData = 1502: ECBlockTable(38, 3).LenEC = 30: ECBlockTable(38, 3).BlockCount(1) = 48: ECBlockTable(38, 3).LenBlock(1) = 24: ECBlockTable(38, 3).BlockCount(2) = 14: ECBlockTable(38, 3).LenBlock(2) = 25
    ECBlockTable(38, 4).LenData = 1142: ECBlockTable(38, 4).LenEC = 30: ECBlockTable(38, 4).BlockCount(1) = 42: ECBlockTable(38, 4).LenBlock(1) = 15: ECBlockTable(38, 4).BlockCount(2) = 32: ECBlockTable(38, 4).LenBlock(2) = 16
    ECBlockTable(39, 1).LenData = 2812: ECBlockTable(39, 1).LenEC = 30: ECBlockTable(39, 1).BlockCount(1) = 20: ECBlockTable(39, 1).LenBlock(1) = 117: ECBlockTable(39, 1).BlockCount(2) = 4: ECBlockTable(39, 1).LenBlock(2) = 118
    ECBlockTable(39, 2).LenData = 2216: ECBlockTable(39, 2).LenEC = 28: ECBlockTable(39, 2).BlockCount(1) = 40: ECBlockTable(39, 2).LenBlock(1) = 47: ECBlockTable(39, 2).BlockCount(2) = 7: ECBlockTable(39, 2).LenBlock(2) = 48
    ECBlockTable(39, 3).LenData = 1582: ECBlockTable(39, 3).LenEC = 30: ECBlockTable(39, 3).BlockCount(1) = 43: ECBlockTable(39, 3).LenBlock(1) = 24: ECBlockTable(39, 3).BlockCount(2) = 22: ECBlockTable(39, 3).LenBlock(2) = 25
    ECBlockTable(39, 4).LenData = 1222: ECBlockTable(39, 4).LenEC = 30: ECBlockTable(39, 4).BlockCount(1) = 10: ECBlockTable(39, 4).LenBlock(1) = 15: ECBlockTable(39, 4).BlockCount(2) = 67: ECBlockTable(39, 4).LenBlock(2) = 16
    ECBlockTable(40, 1).LenData = 2956: ECBlockTable(40, 1).LenEC = 30: ECBlockTable(40, 1).BlockCount(1) = 19: ECBlockTable(40, 1).LenBlock(1) = 118: ECBlockTable(40, 1).BlockCount(2) = 6: ECBlockTable(40, 1).LenBlock(2) = 119
    ECBlockTable(40, 2).LenData = 2334: ECBlockTable(40, 2).LenEC = 28: ECBlockTable(40, 2).BlockCount(1) = 18: ECBlockTable(40, 2).LenBlock(1) = 47: ECBlockTable(40, 2).BlockCount(2) = 31: ECBlockTable(40, 2).LenBlock(2) = 48
    ECBlockTable(40, 3).LenData = 1666: ECBlockTable(40, 3).LenEC = 30: ECBlockTable(40, 3).BlockCount(1) = 34: ECBlockTable(40, 3).LenBlock(1) = 24: ECBlockTable(40, 3).BlockCount(2) = 34: ECBlockTable(40, 3).LenBlock(2) = 25
    ECBlockTable(40, 4).LenData = 1276: ECBlockTable(40, 4).LenEC = 30: ECBlockTable(40, 4).BlockCount(1) = 20: ECBlockTable(40, 4).LenBlock(1) = 15: ECBlockTable(40, 4).BlockCount(2) = 61: ECBlockTable(40, 4).LenBlock(2) = 16
    
    'Initialize Log Alpha
    'LogA(0) = 0
    LogA(1) = 0: LogA(2) = 1: LogA(3) = 25: LogA(4) = 2: LogA(5) = 50
    LogA(6) = 26: LogA(7) = 198: LogA(8) = 3: LogA(9) = 223: LogA(10) = 51: LogA(11) = 238
    LogA(12) = 27: LogA(13) = 104: LogA(14) = 199: LogA(15) = 75: LogA(16) = 4: LogA(17) = 100
    LogA(18) = 224: LogA(19) = 14: LogA(20) = 52: LogA(21) = 141: LogA(22) = 239: LogA(23) = 129
    LogA(24) = 28: LogA(25) = 193: LogA(26) = 105: LogA(27) = 248: LogA(28) = 200: LogA(29) = 8
    LogA(30) = 76: LogA(31) = 113: LogA(32) = 5: LogA(33) = 138: LogA(34) = 101: LogA(35) = 47
    LogA(36) = 225: LogA(37) = 36: LogA(38) = 15: LogA(39) = 33: LogA(40) = 53: LogA(41) = 147
    LogA(42) = 142: LogA(43) = 218: LogA(44) = 240: LogA(45) = 18: LogA(46) = 130: LogA(47) = 69
    LogA(48) = 29: LogA(49) = 181: LogA(50) = 194: LogA(51) = 125: LogA(52) = 106: LogA(53) = 39
    LogA(54) = 249: LogA(55) = 185: LogA(56) = 201: LogA(57) = 154: LogA(58) = 9: LogA(59) = 120
    LogA(60) = 77: LogA(61) = 228: LogA(62) = 114: LogA(63) = 166: LogA(64) = 6: LogA(65) = 191
    LogA(66) = 139: LogA(67) = 98: LogA(68) = 102: LogA(69) = 221: LogA(70) = 48: LogA(71) = 253
    LogA(72) = 226: LogA(73) = 152: LogA(74) = 37: LogA(75) = 179: LogA(76) = 16: LogA(77) = 145
    LogA(78) = 34: LogA(79) = 136: LogA(80) = 54: LogA(81) = 208: LogA(82) = 148: LogA(83) = 206
    LogA(84) = 143: LogA(85) = 150: LogA(86) = 219: LogA(87) = 189: LogA(88) = 241: LogA(89) = 210
    LogA(90) = 19: LogA(91) = 92: LogA(92) = 131: LogA(93) = 56: LogA(94) = 70: LogA(95) = 64
    LogA(96) = 30: LogA(97) = 66: LogA(98) = 182: LogA(99) = 163: LogA(100) = 195: LogA(101) = 72
    LogA(102) = 126: LogA(103) = 110: LogA(104) = 107: LogA(105) = 58: LogA(106) = 40: LogA(107) = 84
    LogA(108) = 250: LogA(109) = 133: LogA(110) = 186: LogA(111) = 61: LogA(112) = 202: LogA(113) = 94
    LogA(114) = 155: LogA(115) = 159: LogA(116) = 10: LogA(117) = 21: LogA(118) = 121: LogA(119) = 43
    LogA(120) = 78: LogA(121) = 212: LogA(122) = 229: LogA(123) = 172: LogA(124) = 115: LogA(125) = 243
    LogA(126) = 167: LogA(127) = 87: LogA(128) = 7: LogA(129) = 112: LogA(130) = 192: LogA(131) = 247
    LogA(132) = 140: LogA(133) = 128: LogA(134) = 99: LogA(135) = 13: LogA(136) = 103: LogA(137) = 74
    LogA(138) = 222: LogA(139) = 237: LogA(140) = 49: LogA(141) = 197: LogA(142) = 254: LogA(143) = 24
    LogA(144) = 227: LogA(145) = 165: LogA(146) = 153: LogA(147) = 119: LogA(148) = 38: LogA(149) = 184
    LogA(150) = 180: LogA(151) = 124: LogA(152) = 17: LogA(153) = 68: LogA(154) = 146: LogA(155) = 217
    LogA(156) = 35: LogA(157) = 32: LogA(158) = 137: LogA(159) = 46: LogA(160) = 55: LogA(161) = 63
    LogA(162) = 209: LogA(163) = 91: LogA(164) = 149: LogA(165) = 188: LogA(166) = 207: LogA(167) = 205
    LogA(168) = 144: LogA(169) = 135: LogA(170) = 151: LogA(171) = 178: LogA(172) = 220: LogA(173) = 252
    LogA(174) = 190: LogA(175) = 97: LogA(176) = 242: LogA(177) = 86: LogA(178) = 211: LogA(179) = 171
    LogA(180) = 20: LogA(181) = 42: LogA(182) = 93: LogA(183) = 158: LogA(184) = 132: LogA(185) = 60
    LogA(186) = 57: LogA(187) = 83: LogA(188) = 71: LogA(189) = 109: LogA(190) = 65: LogA(191) = 162
    LogA(192) = 31: LogA(193) = 45: LogA(194) = 67: LogA(195) = 216: LogA(196) = 183: LogA(197) = 123
    LogA(198) = 164: LogA(199) = 118: LogA(200) = 196: LogA(201) = 23: LogA(202) = 73: LogA(203) = 236
    LogA(204) = 127: LogA(205) = 12: LogA(206) = 111: LogA(207) = 246: LogA(208) = 108: LogA(209) = 161
    LogA(210) = 59: LogA(211) = 82: LogA(212) = 41: LogA(213) = 157: LogA(214) = 85: LogA(215) = 170
    LogA(216) = 251: LogA(217) = 96: LogA(218) = 134: LogA(219) = 177: LogA(220) = 187: LogA(221) = 204
    LogA(222) = 62: LogA(223) = 90: LogA(224) = 203: LogA(225) = 89: LogA(226) = 95: LogA(227) = 176
    LogA(228) = 156: LogA(229) = 169: LogA(230) = 160: LogA(231) = 81: LogA(232) = 11: LogA(233) = 245
    LogA(234) = 22: LogA(235) = 235: LogA(236) = 122: LogA(237) = 117: LogA(238) = 44: LogA(239) = 215
    LogA(240) = 79: LogA(241) = 174: LogA(242) = 213: LogA(243) = 233: LogA(244) = 230: LogA(245) = 231
    LogA(246) = 173: LogA(247) = 232: LogA(248) = 116: LogA(249) = 214: LogA(250) = 244: LogA(251) = 234
    LogA(252) = 168: LogA(253) = 80: LogA(254) = 88: LogA(255) = 175

    
    Call Initialize2
End Sub

Public Sub Initialize2()
    'Initialize AtniLog Alpha
    ALogA(0) = 0
    ALogA(0) = 1: ALogA(1) = 2: ALogA(2) = 4: ALogA(3) = 8: ALogA(4) = 16: ALogA(5) = 32: ALogA(6) = 64
    ALogA(7) = 128: ALogA(8) = 29: ALogA(9) = 58: ALogA(10) = 116: ALogA(11) = 232: ALogA(12) = 205: ALogA(13) = 135
    ALogA(14) = 19: ALogA(15) = 38: ALogA(16) = 76: ALogA(17) = 152: ALogA(18) = 45: ALogA(19) = 90: ALogA(20) = 180
    ALogA(21) = 117: ALogA(22) = 234: ALogA(23) = 201: ALogA(24) = 143: ALogA(25) = 3: ALogA(26) = 6: ALogA(27) = 12
    ALogA(28) = 24: ALogA(29) = 48: ALogA(30) = 96: ALogA(31) = 192: ALogA(32) = 157: ALogA(33) = 39: ALogA(34) = 78
    ALogA(35) = 156: ALogA(36) = 37: ALogA(37) = 74: ALogA(38) = 148: ALogA(39) = 53: ALogA(40) = 106: ALogA(41) = 212
    ALogA(42) = 181: ALogA(43) = 119: ALogA(44) = 238: ALogA(45) = 193: ALogA(46) = 159: ALogA(47) = 35: ALogA(48) = 70
    ALogA(49) = 140: ALogA(50) = 5: ALogA(51) = 10: ALogA(52) = 20: ALogA(53) = 40: ALogA(54) = 80: ALogA(55) = 160: ALogA(56) = 93
    ALogA(57) = 186: ALogA(58) = 105: ALogA(59) = 210: ALogA(60) = 185: ALogA(61) = 111: ALogA(62) = 222: ALogA(63) = 161
    ALogA(64) = 95: ALogA(65) = 190: ALogA(66) = 97: ALogA(67) = 194: ALogA(68) = 153: ALogA(69) = 47: ALogA(70) = 94
    ALogA(71) = 188: ALogA(72) = 101: ALogA(73) = 202: ALogA(74) = 137: ALogA(75) = 15: ALogA(76) = 30
    ALogA(77) = 60: ALogA(78) = 120: ALogA(79) = 240: ALogA(80) = 253: ALogA(81) = 231: ALogA(82) = 211: ALogA(83) = 187: ALogA(84) = 107
    ALogA(85) = 214: ALogA(86) = 177: ALogA(87) = 127: ALogA(88) = 254: ALogA(89) = 225: ALogA(90) = 223: ALogA(91) = 163: ALogA(92) = 91
    ALogA(93) = 182: ALogA(94) = 113: ALogA(95) = 226: ALogA(96) = 217: ALogA(97) = 175: ALogA(98) = 67: ALogA(99) = 134: ALogA(100) = 17
    ALogA(101) = 34: ALogA(102) = 68: ALogA(103) = 136: ALogA(104) = 13: ALogA(105) = 26: ALogA(106) = 52: ALogA(107) = 104: ALogA(108) = 208
    ALogA(109) = 189: ALogA(110) = 103: ALogA(111) = 206: ALogA(112) = 129: ALogA(113) = 31: ALogA(114) = 62: ALogA(115) = 124: ALogA(116) = 248
    ALogA(117) = 237: ALogA(118) = 199: ALogA(119) = 147: ALogA(120) = 59: ALogA(121) = 118: ALogA(122) = 236: ALogA(123) = 197: ALogA(124) = 151
    ALogA(125) = 51: ALogA(126) = 102: ALogA(127) = 204: ALogA(128) = 133: ALogA(129) = 23: ALogA(130) = 46: ALogA(131) = 92: ALogA(132) = 184
    ALogA(133) = 109: ALogA(134) = 218: ALogA(135) = 169: ALogA(136) = 79: ALogA(137) = 158: ALogA(138) = 33: ALogA(139) = 66: ALogA(140) = 132
    ALogA(141) = 21: ALogA(142) = 42: ALogA(143) = 84: ALogA(144) = 168: ALogA(145) = 77: ALogA(146) = 154: ALogA(147) = 41: ALogA(148) = 82
    ALogA(149) = 164: ALogA(150) = 85: ALogA(151) = 170: ALogA(152) = 73: ALogA(153) = 146: ALogA(154) = 57: ALogA(155) = 114: ALogA(156) = 228
    ALogA(157) = 213: ALogA(158) = 183: ALogA(159) = 115: ALogA(160) = 230: ALogA(161) = 209: ALogA(162) = 191: ALogA(163) = 99: ALogA(164) = 198
    ALogA(165) = 145: ALogA(166) = 63: ALogA(167) = 126: ALogA(168) = 252: ALogA(169) = 229: ALogA(170) = 215: ALogA(171) = 179: ALogA(172) = 123
    ALogA(173) = 246: ALogA(174) = 241: ALogA(175) = 255: ALogA(176) = 227: ALogA(177) = 219: ALogA(178) = 171: ALogA(179) = 75: ALogA(180) = 150
    ALogA(181) = 49: ALogA(182) = 98: ALogA(183) = 196: ALogA(184) = 149: ALogA(185) = 55: ALogA(186) = 110: ALogA(187) = 220: ALogA(188) = 165
    ALogA(189) = 87: ALogA(190) = 174: ALogA(191) = 65: ALogA(192) = 130: ALogA(193) = 25: ALogA(194) = 50: ALogA(195) = 100: ALogA(196) = 200
    ALogA(197) = 141: ALogA(198) = 7: ALogA(199) = 14: ALogA(200) = 28: ALogA(201) = 56: ALogA(202) = 112: ALogA(203) = 224: ALogA(204) = 221
    ALogA(205) = 167: ALogA(206) = 83: ALogA(207) = 166: ALogA(208) = 81: ALogA(209) = 162: ALogA(210) = 89: ALogA(211) = 178: ALogA(212) = 121
    ALogA(213) = 242: ALogA(214) = 249: ALogA(215) = 239: ALogA(216) = 195: ALogA(217) = 155: ALogA(218) = 43: ALogA(219) = 86: ALogA(220) = 172
    ALogA(221) = 69: ALogA(222) = 138: ALogA(223) = 9: ALogA(224) = 18: ALogA(225) = 36: ALogA(226) = 72: ALogA(227) = 144: ALogA(228) = 61
    ALogA(229) = 122: ALogA(230) = 244: ALogA(231) = 245: ALogA(232) = 247: ALogA(233) = 243: ALogA(234) = 251: ALogA(235) = 235: ALogA(236) = 203
    ALogA(237) = 139: ALogA(238) = 11: ALogA(239) = 22: ALogA(240) = 44: ALogA(241) = 88: ALogA(242) = 176: ALogA(243) = 125: ALogA(244) = 250
    ALogA(245) = 233: ALogA(246) = 207: ALogA(247) = 131: ALogA(248) = 27: ALogA(249) = 54: ALogA(250) = 108: ALogA(251) = 216: ALogA(252) = 173
    ALogA(253) = 71: ALogA(254) = 142
    
    'Initialize Align Pattern Pos
    APat(2).Count = 2: APat(2).Pos(1) = 6: APat(2).Pos(2) = 18: APat(3).Count = 2: APat(3).Pos(1) = 6: APat(3).Pos(2) = 22
    APat(4).Count = 2: APat(4).Pos(1) = 6: APat(4).Pos(2) = 26: APat(5).Count = 2: APat(5).Pos(1) = 6: APat(5).Pos(2) = 30
    APat(6).Count = 2: APat(6).Pos(1) = 6: APat(6).Pos(2) = 34: APat(7).Count = 3: APat(7).Pos(1) = 6: APat(7).Pos(2) = 22
    APat(7).Pos(3) = 38: APat(8).Count = 3: APat(8).Pos(1) = 6: APat(8).Pos(2) = 24: APat(8).Pos(3) = 42: APat(9).Count = 3
    APat(9).Pos(1) = 6: APat(9).Pos(2) = 26: APat(9).Pos(3) = 46: APat(10).Count = 3: APat(10).Pos(1) = 6: APat(10).Pos(2) = 28
    APat(10).Pos(3) = 50: APat(11).Count = 3: APat(11).Pos(1) = 6: APat(11).Pos(2) = 30: APat(11).Pos(3) = 54: APat(12).Count = 3
    APat(12).Pos(1) = 6: APat(12).Pos(2) = 32: APat(12).Pos(3) = 58: APat(13).Count = 3: APat(13).Pos(1) = 6: APat(13).Pos(2) = 34
    APat(13).Pos(3) = 62: APat(14).Count = 4: APat(14).Pos(1) = 6: APat(14).Pos(2) = 26: APat(14).Pos(3) = 46: APat(14).Pos(4) = 66
    APat(15).Count = 4: APat(15).Pos(1) = 6: APat(15).Pos(2) = 26: APat(15).Pos(3) = 48: APat(15).Pos(4) = 70: APat(16).Count = 4
    APat(16).Pos(1) = 6: APat(16).Pos(2) = 26: APat(16).Pos(3) = 50: APat(16).Pos(4) = 74: APat(17).Count = 4: APat(17).Pos(1) = 6
    APat(17).Pos(2) = 30: APat(17).Pos(3) = 54: APat(17).Pos(4) = 78: APat(18).Count = 4: APat(18).Pos(1) = 6: APat(18).Pos(2) = 30
    APat(18).Pos(3) = 56: APat(18).Pos(4) = 82: APat(19).Count = 4: APat(19).Pos(1) = 6: APat(19).Pos(2) = 30: APat(19).Pos(3) = 58
    APat(19).Pos(4) = 86: APat(20).Count = 4: APat(20).Pos(1) = 6: APat(20).Pos(2) = 34: APat(20).Pos(3) = 62: APat(20).Pos(4) = 90
    APat(21).Count = 5: APat(21).Pos(1) = 6: APat(21).Pos(2) = 28: APat(21).Pos(3) = 50: APat(21).Pos(4) = 72: APat(21).Pos(5) = 94
    APat(22).Count = 5: APat(22).Pos(1) = 6: APat(22).Pos(2) = 26: APat(22).Pos(3) = 50: APat(22).Pos(4) = 74: APat(22).Pos(5) = 98
    APat(23).Count = 5: APat(23).Pos(1) = 6: APat(23).Pos(2) = 30: APat(23).Pos(3) = 54: APat(23).Pos(4) = 78: APat(23).Pos(5) = 102
    APat(24).Count = 5: APat(24).Pos(1) = 6: APat(24).Pos(2) = 28: APat(24).Pos(3) = 54: APat(24).Pos(4) = 80: APat(24).Pos(5) = 106
    APat(25).Count = 5: APat(25).Pos(1) = 6: APat(25).Pos(2) = 32: APat(25).Pos(3) = 58: APat(25).Pos(4) = 84: APat(25).Pos(5) = 110
    APat(26).Count = 5: APat(26).Pos(1) = 6: APat(26).Pos(2) = 30: APat(26).Pos(3) = 58: APat(26).Pos(4) = 86: APat(26).Pos(5) = 114
    APat(27).Count = 5: APat(27).Pos(1) = 6: APat(27).Pos(2) = 34: APat(27).Pos(3) = 62: APat(27).Pos(4) = 90: APat(27).Pos(5) = 118
    APat(28).Count = 6: APat(28).Pos(1) = 6: APat(28).Pos(2) = 26: APat(28).Pos(3) = 50: APat(28).Pos(4) = 74: APat(28).Pos(5) = 98
    APat(28).Pos(6) = 122: APat(29).Count = 6: APat(29).Pos(1) = 6: APat(29).Pos(2) = 30: APat(29).Pos(3) = 54: APat(29).Pos(4) = 78
    APat(29).Pos(5) = 102: APat(29).Pos(6) = 126: APat(30).Count = 6: APat(30).Pos(1) = 6: APat(30).Pos(2) = 26: APat(30).Pos(3) = 52
    APat(30).Pos(4) = 78: APat(30).Pos(5) = 104: APat(30).Pos(6) = 130: APat(31).Count = 6: APat(31).Pos(1) = 6: APat(31).Pos(2) = 30
    APat(31).Pos(3) = 56: APat(31).Pos(4) = 82: APat(31).Pos(5) = 108: APat(31).Pos(6) = 134: APat(32).Count = 6: APat(32).Pos(1) = 6
    APat(32).Pos(2) = 34: APat(32).Pos(3) = 60: APat(32).Pos(4) = 86: APat(32).Pos(5) = 112: APat(32).Pos(6) = 138: APat(33).Count = 6
    APat(33).Pos(1) = 6: APat(33).Pos(2) = 30: APat(33).Pos(3) = 58: APat(33).Pos(4) = 86: APat(33).Pos(5) = 114: APat(33).Pos(6) = 142
    APat(34).Count = 6: APat(34).Pos(1) = 6: APat(34).Pos(2) = 34: APat(34).Pos(3) = 62: APat(34).Pos(4) = 90: APat(34).Pos(5) = 118
    APat(34).Pos(6) = 146: APat(35).Count = 7: APat(35).Pos(1) = 6: APat(35).Pos(2) = 30: APat(35).Pos(3) = 54: APat(35).Pos(4) = 78
    APat(35).Pos(5) = 102: APat(35).Pos(6) = 126: APat(35).Pos(7) = 150: APat(36).Count = 7: APat(36).Pos(1) = 6: APat(36).Pos(2) = 24
    APat(36).Pos(3) = 50: APat(36).Pos(4) = 76: APat(36).Pos(5) = 102: APat(36).Pos(6) = 128: APat(36).Pos(7) = 154: APat(37).Count = 7
    APat(37).Pos(1) = 6: APat(37).Pos(2) = 28: APat(37).Pos(3) = 54: APat(37).Pos(4) = 80: APat(37).Pos(5) = 106: APat(37).Pos(6) = 132
    APat(37).Pos(7) = 158: APat(38).Count = 7: APat(38).Pos(1) = 6: APat(38).Pos(2) = 32: APat(38).Pos(3) = 58: APat(38).Pos(4) = 84
    APat(38).Pos(5) = 110: APat(38).Pos(6) = 136: APat(38).Pos(7) = 162: APat(39).Count = 7: APat(39).Pos(1) = 6: APat(39).Pos(2) = 26
    APat(39).Pos(3) = 54: APat(39).Pos(4) = 82: APat(39).Pos(5) = 110: APat(39).Pos(6) = 138: APat(39).Pos(7) = 166: APat(40).Count = 7
    APat(40).Pos(1) = 6: APat(40).Pos(2) = 30: APat(40).Pos(3) = 58: APat(40).Pos(4) = 86: APat(40).Pos(5) = 114: APat(40).Pos(6) = 142
    APat(40).Pos(7) = 170
    
    'Initialize Format Information
    FmtInfoTable(1, 0) = 30660: FmtInfoTable(1, 1) = 29427: FmtInfoTable(1, 2) = 32170: FmtInfoTable(1, 3) = 30877
    FmtInfoTable(1, 4) = 26159: FmtInfoTable(1, 5) = 25368: FmtInfoTable(1, 6) = 27713: FmtInfoTable(1, 7) = 26998
    FmtInfoTable(2, 0) = 21522: FmtInfoTable(2, 1) = 20773: FmtInfoTable(2, 2) = 24188: FmtInfoTable(2, 3) = 23371
    FmtInfoTable(2, 4) = 17913: FmtInfoTable(2, 5) = 16590: FmtInfoTable(2, 6) = 20375: FmtInfoTable(2, 7) = 19104
    FmtInfoTable(3, 0) = 13663: FmtInfoTable(3, 1) = 12392: FmtInfoTable(3, 2) = 16177: FmtInfoTable(3, 3) = 14854
    FmtInfoTable(3, 4) = 9396: FmtInfoTable(3, 5) = 8579: FmtInfoTable(3, 6) = 11994: FmtInfoTable(3, 7) = 11245
    FmtInfoTable(4, 0) = 5769: FmtInfoTable(4, 1) = 5054: FmtInfoTable(4, 2) = 7399: FmtInfoTable(4, 3) = 6608
    FmtInfoTable(4, 4) = 1890: FmtInfoTable(4, 5) = 597: FmtInfoTable(4, 6) = 3340: FmtInfoTable(4, 7) = 2107
    
    'Initialize Version Information
    VerInfoTable(7) = 31892: VerInfoTable(8) = 34236: VerInfoTable(9) = 39577
    VerInfoTable(10) = 42195: VerInfoTable(11) = 48118: VerInfoTable(12) = 51042: VerInfoTable(13) = 55367
    VerInfoTable(14) = 58893: VerInfoTable(15) = 63784: VerInfoTable(16) = 68472: VerInfoTable(17) = 70749
    VerInfoTable(18) = 76311: VerInfoTable(19) = 79154: VerInfoTable(20) = 84390: VerInfoTable(21) = 87683
    VerInfoTable(22) = 92361: VerInfoTable(23) = 96236: VerInfoTable(24) = 102084: VerInfoTable(25) = 102881
    VerInfoTable(26) = 110507: VerInfoTable(27) = 110734: VerInfoTable(28) = 117786: VerInfoTable(29) = 119615
    VerInfoTable(30) = 126325: VerInfoTable(31) = 127568: VerInfoTable(32) = 133589: VerInfoTable(33) = 136944
    VerInfoTable(34) = 141498: VerInfoTable(35) = 145311: VerInfoTable(36) = 150283: VerInfoTable(37) = 152622
    VerInfoTable(38) = 158308: VerInfoTable(39) = 161089: VerInfoTable(40) = 167017


End Sub

Public Function RemainderBitLength(Version As Integer) As Integer
    Select Case Version
    Case 1, 7 To 13, 35 To 40
        RemainderBitLength = 0
    Case 14 To 20, 28 To 34
        RemainderBitLength = 3
    Case 21 To 27
        RemainderBitLength = 4
    Case Else
        RemainderBitLength = 7
    End Select
End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值