1374 lines
66 KiB
Go
1374 lines
66 KiB
Go
// Code generated by goyacc DO NOT EDIT.
|
|
|
|
// Copyright 2020 PingCAP, Inc.
|
|
//
|
|
// Licensed 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,
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package parser
|
|
|
|
import __yyfmt__ "fmt"
|
|
|
|
import (
|
|
"math"
|
|
"strconv"
|
|
|
|
"github.com/pingcap/tidb/parser/ast"
|
|
"github.com/pingcap/tidb/parser/model"
|
|
)
|
|
|
|
type yyhintSymType struct {
|
|
yys int
|
|
offset int
|
|
ident string
|
|
number uint64
|
|
hint *ast.TableOptimizerHint
|
|
hints []*ast.TableOptimizerHint
|
|
table ast.HintTable
|
|
modelIdents []model.CIStr
|
|
}
|
|
|
|
type yyhintXError struct {
|
|
state, xsym int
|
|
}
|
|
|
|
const (
|
|
yyhintDefault = 57421
|
|
yyhintEOFCode = 57344
|
|
yyhintErrCode = 57345
|
|
hintAggToCop = 57379
|
|
hintBCJoin = 57392
|
|
hintBKA = 57355
|
|
hintBNL = 57357
|
|
hintDupsWeedOut = 57417
|
|
hintFalse = 57413
|
|
hintFirstMatch = 57418
|
|
hintForceIndex = 57403
|
|
hintGB = 57416
|
|
hintHashAgg = 57381
|
|
hintHashJoin = 57359
|
|
hintHashJoinBuild = 57360
|
|
hintHashJoinProbe = 57361
|
|
hintIdentifier = 57347
|
|
hintIgnoreIndex = 57382
|
|
hintIgnorePlanCache = 57380
|
|
hintIndexMerge = 57365
|
|
hintInlHashJoin = 57383
|
|
hintInlJoin = 57384
|
|
hintInlMergeJoin = 57385
|
|
hintIntLit = 57346
|
|
hintInvalid = 57348
|
|
hintJoinFixedOrder = 57351
|
|
hintJoinOrder = 57352
|
|
hintJoinPrefix = 57353
|
|
hintJoinSuffix = 57354
|
|
hintLeading = 57405
|
|
hintLimitToCop = 57402
|
|
hintLooseScan = 57419
|
|
hintMB = 57415
|
|
hintMRR = 57367
|
|
hintMaterialization = 57420
|
|
hintMaxExecutionTime = 57375
|
|
hintMemoryQuota = 57386
|
|
hintMerge = 57363
|
|
hintNoBKA = 57356
|
|
hintNoBNL = 57358
|
|
hintNoDecorrelate = 57407
|
|
hintNoHashJoin = 57362
|
|
hintNoICP = 57369
|
|
hintNoIndexMerge = 57366
|
|
hintNoMRR = 57368
|
|
hintNoMerge = 57364
|
|
hintNoRangeOptimization = 57370
|
|
hintNoSemijoin = 57374
|
|
hintNoSkipScan = 57372
|
|
hintNoSwapJoinInputs = 57387
|
|
hintNthPlan = 57401
|
|
hintOLAP = 57408
|
|
hintOLTP = 57409
|
|
hintPartition = 57410
|
|
hintQBName = 57378
|
|
hintQueryType = 57388
|
|
hintReadConsistentReplica = 57389
|
|
hintReadFromStorage = 57390
|
|
hintResourceGroup = 57377
|
|
hintSMJoin = 57391
|
|
hintSemiJoinRewrite = 57406
|
|
hintSemijoin = 57373
|
|
hintSetVar = 57376
|
|
hintSingleAtIdentifier = 57349
|
|
hintSkipScan = 57371
|
|
hintStraightJoin = 57404
|
|
hintStreamAgg = 57393
|
|
hintStringLit = 57350
|
|
hintSwapJoinInputs = 57394
|
|
hintTiFlash = 57412
|
|
hintTiKV = 57411
|
|
hintTimeRange = 57399
|
|
hintTrue = 57414
|
|
hintUseCascades = 57400
|
|
hintUseIndex = 57396
|
|
hintUseIndexMerge = 57395
|
|
hintUsePlanCache = 57397
|
|
hintUseToja = 57398
|
|
|
|
yyhintMaxDepth = 200
|
|
yyhintTabOfs = -182
|
|
)
|
|
|
|
var (
|
|
yyhintXLAT = map[int]int{
|
|
41: 0, // ')' (135x)
|
|
57379: 1, // hintAggToCop (127x)
|
|
57392: 2, // hintBCJoin (127x)
|
|
57355: 3, // hintBKA (127x)
|
|
57357: 4, // hintBNL (127x)
|
|
57403: 5, // hintForceIndex (127x)
|
|
57381: 6, // hintHashAgg (127x)
|
|
57359: 7, // hintHashJoin (127x)
|
|
57360: 8, // hintHashJoinBuild (127x)
|
|
57361: 9, // hintHashJoinProbe (127x)
|
|
57382: 10, // hintIgnoreIndex (127x)
|
|
57380: 11, // hintIgnorePlanCache (127x)
|
|
57365: 12, // hintIndexMerge (127x)
|
|
57383: 13, // hintInlHashJoin (127x)
|
|
57384: 14, // hintInlJoin (127x)
|
|
57385: 15, // hintInlMergeJoin (127x)
|
|
57351: 16, // hintJoinFixedOrder (127x)
|
|
57352: 17, // hintJoinOrder (127x)
|
|
57353: 18, // hintJoinPrefix (127x)
|
|
57354: 19, // hintJoinSuffix (127x)
|
|
57405: 20, // hintLeading (127x)
|
|
57402: 21, // hintLimitToCop (127x)
|
|
57375: 22, // hintMaxExecutionTime (127x)
|
|
57386: 23, // hintMemoryQuota (127x)
|
|
57363: 24, // hintMerge (127x)
|
|
57367: 25, // hintMRR (127x)
|
|
57356: 26, // hintNoBKA (127x)
|
|
57358: 27, // hintNoBNL (127x)
|
|
57407: 28, // hintNoDecorrelate (127x)
|
|
57362: 29, // hintNoHashJoin (127x)
|
|
57369: 30, // hintNoICP (127x)
|
|
57366: 31, // hintNoIndexMerge (127x)
|
|
57364: 32, // hintNoMerge (127x)
|
|
57368: 33, // hintNoMRR (127x)
|
|
57370: 34, // hintNoRangeOptimization (127x)
|
|
57374: 35, // hintNoSemijoin (127x)
|
|
57372: 36, // hintNoSkipScan (127x)
|
|
57387: 37, // hintNoSwapJoinInputs (127x)
|
|
57401: 38, // hintNthPlan (127x)
|
|
57378: 39, // hintQBName (127x)
|
|
57388: 40, // hintQueryType (127x)
|
|
57389: 41, // hintReadConsistentReplica (127x)
|
|
57390: 42, // hintReadFromStorage (127x)
|
|
57377: 43, // hintResourceGroup (127x)
|
|
57373: 44, // hintSemijoin (127x)
|
|
57406: 45, // hintSemiJoinRewrite (127x)
|
|
57376: 46, // hintSetVar (127x)
|
|
57371: 47, // hintSkipScan (127x)
|
|
57391: 48, // hintSMJoin (127x)
|
|
57404: 49, // hintStraightJoin (127x)
|
|
57393: 50, // hintStreamAgg (127x)
|
|
57394: 51, // hintSwapJoinInputs (127x)
|
|
57399: 52, // hintTimeRange (127x)
|
|
57400: 53, // hintUseCascades (127x)
|
|
57396: 54, // hintUseIndex (127x)
|
|
57395: 55, // hintUseIndexMerge (127x)
|
|
57397: 56, // hintUsePlanCache (127x)
|
|
57398: 57, // hintUseToja (127x)
|
|
44: 58, // ',' (125x)
|
|
57417: 59, // hintDupsWeedOut (105x)
|
|
57418: 60, // hintFirstMatch (105x)
|
|
57419: 61, // hintLooseScan (105x)
|
|
57420: 62, // hintMaterialization (105x)
|
|
57412: 63, // hintTiFlash (105x)
|
|
57411: 64, // hintTiKV (105x)
|
|
57413: 65, // hintFalse (104x)
|
|
57408: 66, // hintOLAP (104x)
|
|
57409: 67, // hintOLTP (104x)
|
|
57414: 68, // hintTrue (104x)
|
|
57416: 69, // hintGB (103x)
|
|
57415: 70, // hintMB (103x)
|
|
57347: 71, // hintIdentifier (102x)
|
|
57349: 72, // hintSingleAtIdentifier (87x)
|
|
93: 73, // ']' (81x)
|
|
57410: 74, // hintPartition (75x)
|
|
46: 75, // '.' (71x)
|
|
61: 76, // '=' (71x)
|
|
40: 77, // '(' (66x)
|
|
57344: 78, // $end (24x)
|
|
57441: 79, // QueryBlockOpt (17x)
|
|
57433: 80, // Identifier (13x)
|
|
57346: 81, // hintIntLit (8x)
|
|
57350: 82, // hintStringLit (5x)
|
|
57423: 83, // CommaOpt (4x)
|
|
57429: 84, // HintTable (4x)
|
|
57430: 85, // HintTableList (4x)
|
|
91: 86, // '[' (3x)
|
|
57422: 87, // BooleanHintName (2x)
|
|
57424: 88, // HintIndexList (2x)
|
|
57426: 89, // HintStorageType (2x)
|
|
57427: 90, // HintStorageTypeAndTable (2x)
|
|
57431: 91, // HintTableListOpt (2x)
|
|
57436: 92, // JoinOrderOptimizerHintName (2x)
|
|
57437: 93, // NullaryHintName (2x)
|
|
57440: 94, // PartitionListOpt (2x)
|
|
57443: 95, // StorageOptimizerHintOpt (2x)
|
|
57444: 96, // SubqueryOptimizerHintName (2x)
|
|
57447: 97, // SubqueryStrategy (2x)
|
|
57448: 98, // SupportedIndexLevelOptimizerHintName (2x)
|
|
57449: 99, // SupportedTableLevelOptimizerHintName (2x)
|
|
57450: 100, // TableOptimizerHintOpt (2x)
|
|
57452: 101, // UnsupportedIndexLevelOptimizerHintName (2x)
|
|
57453: 102, // UnsupportedTableLevelOptimizerHintName (2x)
|
|
57425: 103, // HintQueryType (1x)
|
|
57428: 104, // HintStorageTypeAndTableList (1x)
|
|
57432: 105, // HintTrueOrFalse (1x)
|
|
57434: 106, // IndexNameList (1x)
|
|
57435: 107, // IndexNameListOpt (1x)
|
|
57438: 108, // OptimizerHintList (1x)
|
|
57439: 109, // PartitionList (1x)
|
|
57442: 110, // Start (1x)
|
|
57445: 111, // SubqueryStrategies (1x)
|
|
57446: 112, // SubqueryStrategiesOpt (1x)
|
|
57451: 113, // UnitOfBytes (1x)
|
|
57454: 114, // Value (1x)
|
|
57421: 115, // $default (0x)
|
|
57345: 116, // error (0x)
|
|
57348: 117, // hintInvalid (0x)
|
|
}
|
|
|
|
yyhintSymNames = []string{
|
|
"')'",
|
|
"hintAggToCop",
|
|
"hintBCJoin",
|
|
"hintBKA",
|
|
"hintBNL",
|
|
"hintForceIndex",
|
|
"hintHashAgg",
|
|
"hintHashJoin",
|
|
"hintHashJoinBuild",
|
|
"hintHashJoinProbe",
|
|
"hintIgnoreIndex",
|
|
"hintIgnorePlanCache",
|
|
"hintIndexMerge",
|
|
"hintInlHashJoin",
|
|
"hintInlJoin",
|
|
"hintInlMergeJoin",
|
|
"hintJoinFixedOrder",
|
|
"hintJoinOrder",
|
|
"hintJoinPrefix",
|
|
"hintJoinSuffix",
|
|
"hintLeading",
|
|
"hintLimitToCop",
|
|
"hintMaxExecutionTime",
|
|
"hintMemoryQuota",
|
|
"hintMerge",
|
|
"hintMRR",
|
|
"hintNoBKA",
|
|
"hintNoBNL",
|
|
"hintNoDecorrelate",
|
|
"hintNoHashJoin",
|
|
"hintNoICP",
|
|
"hintNoIndexMerge",
|
|
"hintNoMerge",
|
|
"hintNoMRR",
|
|
"hintNoRangeOptimization",
|
|
"hintNoSemijoin",
|
|
"hintNoSkipScan",
|
|
"hintNoSwapJoinInputs",
|
|
"hintNthPlan",
|
|
"hintQBName",
|
|
"hintQueryType",
|
|
"hintReadConsistentReplica",
|
|
"hintReadFromStorage",
|
|
"hintResourceGroup",
|
|
"hintSemijoin",
|
|
"hintSemiJoinRewrite",
|
|
"hintSetVar",
|
|
"hintSkipScan",
|
|
"hintSMJoin",
|
|
"hintStraightJoin",
|
|
"hintStreamAgg",
|
|
"hintSwapJoinInputs",
|
|
"hintTimeRange",
|
|
"hintUseCascades",
|
|
"hintUseIndex",
|
|
"hintUseIndexMerge",
|
|
"hintUsePlanCache",
|
|
"hintUseToja",
|
|
"','",
|
|
"hintDupsWeedOut",
|
|
"hintFirstMatch",
|
|
"hintLooseScan",
|
|
"hintMaterialization",
|
|
"hintTiFlash",
|
|
"hintTiKV",
|
|
"hintFalse",
|
|
"hintOLAP",
|
|
"hintOLTP",
|
|
"hintTrue",
|
|
"hintGB",
|
|
"hintMB",
|
|
"hintIdentifier",
|
|
"hintSingleAtIdentifier",
|
|
"']'",
|
|
"hintPartition",
|
|
"'.'",
|
|
"'='",
|
|
"'('",
|
|
"$end",
|
|
"QueryBlockOpt",
|
|
"Identifier",
|
|
"hintIntLit",
|
|
"hintStringLit",
|
|
"CommaOpt",
|
|
"HintTable",
|
|
"HintTableList",
|
|
"'['",
|
|
"BooleanHintName",
|
|
"HintIndexList",
|
|
"HintStorageType",
|
|
"HintStorageTypeAndTable",
|
|
"HintTableListOpt",
|
|
"JoinOrderOptimizerHintName",
|
|
"NullaryHintName",
|
|
"PartitionListOpt",
|
|
"StorageOptimizerHintOpt",
|
|
"SubqueryOptimizerHintName",
|
|
"SubqueryStrategy",
|
|
"SupportedIndexLevelOptimizerHintName",
|
|
"SupportedTableLevelOptimizerHintName",
|
|
"TableOptimizerHintOpt",
|
|
"UnsupportedIndexLevelOptimizerHintName",
|
|
"UnsupportedTableLevelOptimizerHintName",
|
|
"HintQueryType",
|
|
"HintStorageTypeAndTableList",
|
|
"HintTrueOrFalse",
|
|
"IndexNameList",
|
|
"IndexNameListOpt",
|
|
"OptimizerHintList",
|
|
"PartitionList",
|
|
"Start",
|
|
"SubqueryStrategies",
|
|
"SubqueryStrategiesOpt",
|
|
"UnitOfBytes",
|
|
"Value",
|
|
"$default",
|
|
"error",
|
|
"hintInvalid",
|
|
}
|
|
|
|
yyhintReductions = []struct{ xsym, components int }{
|
|
{0, 1},
|
|
{110, 1},
|
|
{108, 1},
|
|
{108, 3},
|
|
{108, 1},
|
|
{108, 3},
|
|
{100, 4},
|
|
{100, 4},
|
|
{100, 4},
|
|
{100, 4},
|
|
{100, 4},
|
|
{100, 4},
|
|
{100, 5},
|
|
{100, 5},
|
|
{100, 5},
|
|
{100, 6},
|
|
{100, 4},
|
|
{100, 4},
|
|
{100, 6},
|
|
{100, 6},
|
|
{100, 5},
|
|
{100, 4},
|
|
{100, 5},
|
|
{95, 5},
|
|
{104, 1},
|
|
{104, 3},
|
|
{90, 4},
|
|
{79, 0},
|
|
{79, 1},
|
|
{83, 0},
|
|
{83, 1},
|
|
{94, 0},
|
|
{94, 4},
|
|
{109, 1},
|
|
{109, 3},
|
|
{91, 1},
|
|
{91, 1},
|
|
{85, 2},
|
|
{85, 3},
|
|
{84, 3},
|
|
{84, 5},
|
|
{88, 4},
|
|
{107, 0},
|
|
{107, 1},
|
|
{106, 1},
|
|
{106, 3},
|
|
{112, 0},
|
|
{112, 1},
|
|
{111, 1},
|
|
{111, 3},
|
|
{114, 1},
|
|
{114, 1},
|
|
{114, 1},
|
|
{113, 1},
|
|
{113, 1},
|
|
{105, 1},
|
|
{105, 1},
|
|
{92, 1},
|
|
{92, 1},
|
|
{92, 1},
|
|
{102, 1},
|
|
{102, 1},
|
|
{102, 1},
|
|
{102, 1},
|
|
{102, 1},
|
|
{102, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{99, 1},
|
|
{101, 1},
|
|
{101, 1},
|
|
{101, 1},
|
|
{101, 1},
|
|
{101, 1},
|
|
{101, 1},
|
|
{101, 1},
|
|
{98, 1},
|
|
{98, 1},
|
|
{98, 1},
|
|
{98, 1},
|
|
{96, 1},
|
|
{96, 1},
|
|
{97, 1},
|
|
{97, 1},
|
|
{97, 1},
|
|
{97, 1},
|
|
{87, 1},
|
|
{87, 1},
|
|
{93, 1},
|
|
{93, 1},
|
|
{93, 1},
|
|
{93, 1},
|
|
{93, 1},
|
|
{93, 1},
|
|
{93, 1},
|
|
{93, 1},
|
|
{93, 1},
|
|
{93, 1},
|
|
{93, 1},
|
|
{103, 1},
|
|
{103, 1},
|
|
{89, 1},
|
|
{89, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
{80, 1},
|
|
}
|
|
|
|
yyhintXErrors = map[yyhintXError]string{}
|
|
|
|
yyhintParseTab = [265][]uint16{
|
|
// 0
|
|
{1: 244, 215, 208, 210, 236, 242, 222, 223, 224, 234, 248, 226, 218, 216, 221, 187, 205, 206, 207, 225, 245, 194, 199, 217, 227, 209, 211, 251, 212, 229, 246, 213, 228, 230, 238, 232, 220, 195, 198, 203, 247, 204, 197, 237, 250, 196, 231, 214, 249, 243, 219, 200, 240, 233, 235, 241, 239, 87: 201, 92: 188, 202, 95: 186, 193, 98: 192, 190, 185, 191, 189, 108: 184, 110: 183},
|
|
{78: 182},
|
|
{1: 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 344, 78: 181, 83: 444},
|
|
{1: 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 78: 180},
|
|
{1: 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 78: 178},
|
|
// 5
|
|
{77: 441},
|
|
{77: 438},
|
|
{77: 435},
|
|
{77: 430},
|
|
{77: 427},
|
|
// 10
|
|
{77: 416},
|
|
{77: 404},
|
|
{77: 400},
|
|
{77: 396},
|
|
{77: 388},
|
|
// 15
|
|
{77: 385},
|
|
{77: 382},
|
|
{77: 375},
|
|
{77: 370},
|
|
{77: 364},
|
|
// 20
|
|
{77: 361},
|
|
{77: 355},
|
|
{77: 252},
|
|
{77: 125},
|
|
{77: 124},
|
|
// 25
|
|
{77: 123},
|
|
{77: 122},
|
|
{77: 121},
|
|
{77: 120},
|
|
{77: 119},
|
|
// 30
|
|
{77: 118},
|
|
{77: 117},
|
|
{77: 116},
|
|
{77: 115},
|
|
{77: 114},
|
|
// 35
|
|
{77: 113},
|
|
{77: 112},
|
|
{77: 111},
|
|
{77: 110},
|
|
{77: 109},
|
|
// 40
|
|
{77: 108},
|
|
{77: 107},
|
|
{77: 106},
|
|
{77: 105},
|
|
{77: 104},
|
|
// 45
|
|
{77: 103},
|
|
{77: 102},
|
|
{77: 101},
|
|
{77: 100},
|
|
{77: 99},
|
|
// 50
|
|
{77: 98},
|
|
{77: 97},
|
|
{77: 96},
|
|
{77: 95},
|
|
{77: 94},
|
|
// 55
|
|
{77: 93},
|
|
{77: 92},
|
|
{77: 87},
|
|
{77: 86},
|
|
{77: 85},
|
|
// 60
|
|
{77: 84},
|
|
{77: 83},
|
|
{77: 82},
|
|
{77: 81},
|
|
{77: 80},
|
|
// 65
|
|
{77: 79},
|
|
{77: 78},
|
|
{77: 77},
|
|
{77: 76},
|
|
{77: 75},
|
|
// 70
|
|
{63: 155, 155, 72: 254, 79: 253},
|
|
{63: 259, 258, 89: 257, 256, 104: 255},
|
|
{154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 73: 154, 154, 81: 154},
|
|
{352, 58: 353},
|
|
{158, 58: 158},
|
|
// 75
|
|
{86: 260},
|
|
{86: 72},
|
|
{86: 71},
|
|
{1: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 59: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 254, 79: 262, 85: 261},
|
|
{58: 350, 73: 349},
|
|
// 80
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 264, 84: 263},
|
|
{145, 58: 145, 73: 145},
|
|
{155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 254, 155, 155, 336, 79: 335},
|
|
{70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70},
|
|
{69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69},
|
|
// 85
|
|
{68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68},
|
|
{67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67},
|
|
{66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66},
|
|
{65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65},
|
|
{64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64},
|
|
// 90
|
|
{63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63},
|
|
{62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62},
|
|
{61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61},
|
|
{60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60},
|
|
{59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59},
|
|
// 95
|
|
{58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58},
|
|
{57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57},
|
|
{56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56},
|
|
{55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55},
|
|
{54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54},
|
|
// 100
|
|
{53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53},
|
|
{52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52},
|
|
{51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51},
|
|
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50},
|
|
{49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49},
|
|
// 105
|
|
{48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48},
|
|
{47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47},
|
|
{46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46},
|
|
{45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45},
|
|
{44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44},
|
|
// 110
|
|
{43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43},
|
|
{42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42},
|
|
{41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41},
|
|
{40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40},
|
|
{39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39},
|
|
// 115
|
|
{38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38},
|
|
{37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37},
|
|
{36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36},
|
|
{35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35},
|
|
{34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34},
|
|
// 120
|
|
{33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33},
|
|
{32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32},
|
|
{31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31},
|
|
{30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30},
|
|
{29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29},
|
|
// 125
|
|
{28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28},
|
|
{27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27},
|
|
{26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
|
|
{25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25},
|
|
{24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24},
|
|
// 130
|
|
{23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23},
|
|
{22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22},
|
|
{21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21},
|
|
{20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20},
|
|
{19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19},
|
|
// 135
|
|
{18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18},
|
|
{17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17},
|
|
{16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16},
|
|
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
|
|
{14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14},
|
|
// 140
|
|
{13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13},
|
|
{12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
|
|
{11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
|
|
{10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10},
|
|
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
|
|
// 145
|
|
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
|
|
{7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7},
|
|
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
|
|
{5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5},
|
|
{4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
|
// 150
|
|
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
|
|
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
|
|
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
|
|
{151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 73: 151, 339, 94: 348},
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 337},
|
|
// 155
|
|
{155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 254, 155, 155, 79: 338},
|
|
{151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 73: 151, 339, 94: 340},
|
|
{77: 341},
|
|
{142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 73: 142},
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 343, 109: 342},
|
|
// 160
|
|
{345, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 344, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 83: 346},
|
|
{149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149},
|
|
{152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 59: 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 82: 152},
|
|
{150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 73: 150},
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 347},
|
|
// 165
|
|
{148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148},
|
|
{143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 73: 143},
|
|
{156, 58: 156},
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 264, 84: 351},
|
|
{144, 58: 144, 73: 144},
|
|
// 170
|
|
{1: 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 78: 159},
|
|
{63: 259, 258, 89: 257, 354},
|
|
{157, 58: 157},
|
|
{66: 155, 155, 72: 254, 79: 356},
|
|
{66: 358, 359, 103: 357},
|
|
// 175
|
|
{360},
|
|
{74},
|
|
{73},
|
|
{1: 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 78: 160},
|
|
{155, 72: 254, 79: 362},
|
|
// 180
|
|
{363},
|
|
{1: 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 78: 161},
|
|
{65: 155, 68: 155, 72: 254, 79: 365},
|
|
{65: 368, 68: 367, 105: 366},
|
|
{369},
|
|
// 185
|
|
{127},
|
|
{126},
|
|
{1: 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 78: 162},
|
|
{82: 371},
|
|
{58: 344, 82: 153, 372},
|
|
// 190
|
|
{82: 373},
|
|
{374},
|
|
{1: 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 78: 163},
|
|
{72: 254, 79: 376, 81: 155},
|
|
{81: 377},
|
|
// 195
|
|
{69: 380, 379, 113: 378},
|
|
{381},
|
|
{129},
|
|
{128},
|
|
{1: 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 78: 164},
|
|
// 200
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 383},
|
|
{384},
|
|
{1: 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 78: 165},
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 386},
|
|
{387},
|
|
// 205
|
|
{1: 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 78: 166},
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 389},
|
|
{76: 390},
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 393, 394, 392, 114: 391},
|
|
{395},
|
|
// 210
|
|
{132},
|
|
{131},
|
|
{130},
|
|
{1: 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 78: 167},
|
|
{72: 254, 79: 397, 81: 155},
|
|
// 215
|
|
{81: 398},
|
|
{399},
|
|
{1: 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 78: 168},
|
|
{72: 254, 79: 401, 81: 155},
|
|
{81: 402},
|
|
// 220
|
|
{403},
|
|
{1: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 78: 169},
|
|
{155, 59: 155, 155, 155, 155, 72: 254, 79: 405},
|
|
{136, 59: 409, 410, 411, 412, 97: 408, 111: 407, 406},
|
|
{415},
|
|
// 225
|
|
{135, 58: 413},
|
|
{134, 58: 134},
|
|
{91, 58: 91},
|
|
{90, 58: 90},
|
|
{89, 58: 89},
|
|
// 230
|
|
{88, 58: 88},
|
|
{59: 409, 410, 411, 412, 97: 414},
|
|
{133, 58: 133},
|
|
{1: 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 78: 170},
|
|
{1: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 59: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 254, 79: 418, 88: 417},
|
|
// 235
|
|
{426},
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 264, 84: 419},
|
|
{153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 344, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 83: 420},
|
|
{140, 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 423, 106: 422, 421},
|
|
{141},
|
|
// 240
|
|
{139, 58: 424},
|
|
{138, 58: 138},
|
|
{1: 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 425},
|
|
{137, 58: 137},
|
|
{1: 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 78: 171},
|
|
// 245
|
|
{1: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 59: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 254, 79: 418, 88: 428},
|
|
{429},
|
|
{1: 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 78: 172},
|
|
{155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 59: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 254, 79: 433, 85: 432, 91: 431},
|
|
{434},
|
|
// 250
|
|
{147, 58: 350},
|
|
{146, 294, 308, 270, 272, 318, 297, 274, 275, 276, 298, 296, 280, 299, 300, 301, 266, 267, 268, 269, 320, 295, 290, 302, 278, 282, 271, 273, 322, 277, 284, 281, 279, 283, 285, 289, 287, 303, 317, 293, 304, 305, 306, 292, 288, 321, 291, 286, 307, 319, 309, 310, 315, 316, 312, 311, 313, 314, 59: 331, 332, 333, 334, 326, 325, 327, 323, 324, 328, 330, 329, 265, 80: 264, 84: 263},
|
|
{1: 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 78: 173},
|
|
{155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 59: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 254, 79: 433, 85: 432, 91: 436},
|
|
{437},
|
|
// 255
|
|
{1: 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 78: 174},
|
|
{1: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 59: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 254, 79: 262, 85: 439},
|
|
{440, 58: 350},
|
|
{1: 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 78: 175},
|
|
{155, 72: 254, 79: 442},
|
|
// 260
|
|
{443},
|
|
{1: 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 78: 176},
|
|
{1: 244, 215, 208, 210, 236, 242, 222, 223, 224, 234, 248, 226, 218, 216, 221, 187, 205, 206, 207, 225, 245, 194, 199, 217, 227, 209, 211, 251, 212, 229, 246, 213, 228, 230, 238, 232, 220, 195, 198, 203, 247, 204, 197, 237, 250, 196, 231, 214, 249, 243, 219, 200, 240, 233, 235, 241, 239, 87: 201, 92: 188, 202, 95: 446, 193, 98: 192, 190, 445, 191, 189},
|
|
{1: 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 78: 179},
|
|
{1: 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 78: 177},
|
|
}
|
|
)
|
|
|
|
var yyhintDebug = 0
|
|
|
|
type yyhintLexer interface {
|
|
Lex(lval *yyhintSymType) int
|
|
Errorf(format string, a ...interface{}) error
|
|
AppendError(err error)
|
|
AppendWarn(err error)
|
|
Errors() (warns []error, errs []error)
|
|
}
|
|
|
|
type yyhintLexerEx interface {
|
|
yyhintLexer
|
|
Reduced(rule, state int, lval *yyhintSymType) bool
|
|
}
|
|
|
|
func yyhintSymName(c int) (s string) {
|
|
x, ok := yyhintXLAT[c]
|
|
if ok {
|
|
return yyhintSymNames[x]
|
|
}
|
|
|
|
return __yyfmt__.Sprintf("%d", c)
|
|
}
|
|
|
|
func yyhintlex1(yylex yyhintLexer, lval *yyhintSymType) (n int) {
|
|
n = yylex.Lex(lval)
|
|
if n <= 0 {
|
|
n = yyhintEOFCode
|
|
}
|
|
if yyhintDebug >= 3 {
|
|
__yyfmt__.Printf("\nlex %s(%#x %d), lval: %+v\n", yyhintSymName(n), n, n, lval)
|
|
}
|
|
return n
|
|
}
|
|
|
|
func yyhintParse(yylex yyhintLexer, parser *hintParser) int {
|
|
const yyError = 116
|
|
|
|
yyEx, _ := yylex.(yyhintLexerEx)
|
|
var yyn int
|
|
parser.yylval = yyhintSymType{}
|
|
yyS := parser.cache
|
|
|
|
Nerrs := 0 /* number of errors */
|
|
Errflag := 0 /* error recovery flag */
|
|
yyerrok := func() {
|
|
if yyhintDebug >= 2 {
|
|
__yyfmt__.Printf("yyerrok()\n")
|
|
}
|
|
Errflag = 0
|
|
}
|
|
_ = yyerrok
|
|
yystate := 0
|
|
yychar := -1
|
|
var yyxchar int
|
|
var yyshift int
|
|
yyp := -1
|
|
goto yystack
|
|
|
|
ret0:
|
|
return 0
|
|
|
|
ret1:
|
|
return 1
|
|
|
|
yystack:
|
|
/* put a state and value onto the stack */
|
|
yyp++
|
|
if yyp+1 >= len(yyS) {
|
|
nyys := make([]yyhintSymType, len(yyS)*2)
|
|
copy(nyys, yyS)
|
|
yyS = nyys
|
|
parser.cache = yyS
|
|
}
|
|
parser.yyVAL = &yyS[yyp+1]
|
|
yyS[yyp].yys = yystate
|
|
|
|
yynewstate:
|
|
if yychar < 0 {
|
|
yychar = yyhintlex1(yylex, &parser.yylval)
|
|
var ok bool
|
|
if yyxchar, ok = yyhintXLAT[yychar]; !ok {
|
|
yyxchar = len(yyhintSymNames) // > tab width
|
|
}
|
|
}
|
|
if yyhintDebug >= 4 {
|
|
var a []int
|
|
for _, v := range yyS[:yyp+1] {
|
|
a = append(a, v.yys)
|
|
}
|
|
__yyfmt__.Printf("state stack %v\n", a)
|
|
}
|
|
row := yyhintParseTab[yystate]
|
|
yyn = 0
|
|
if yyxchar < len(row) {
|
|
if yyn = int(row[yyxchar]); yyn != 0 {
|
|
yyn += yyhintTabOfs
|
|
}
|
|
}
|
|
switch {
|
|
case yyn > 0: // shift
|
|
yychar = -1
|
|
*parser.yyVAL = parser.yylval
|
|
yystate = yyn
|
|
yyshift = yyn
|
|
if yyhintDebug >= 2 {
|
|
__yyfmt__.Printf("shift, and goto state %d\n", yystate)
|
|
}
|
|
if Errflag > 0 {
|
|
Errflag--
|
|
}
|
|
goto yystack
|
|
case yyn < 0: // reduce
|
|
case yystate == 1: // accept
|
|
if yyhintDebug >= 2 {
|
|
__yyfmt__.Println("accept")
|
|
}
|
|
goto ret0
|
|
}
|
|
|
|
if yyn == 0 {
|
|
/* error ... attempt to resume parsing */
|
|
switch Errflag {
|
|
case 0: /* brand new error */
|
|
if yyhintDebug >= 1 {
|
|
__yyfmt__.Printf("no action for %s in state %d\n", yyhintSymName(yychar), yystate)
|
|
}
|
|
msg, ok := yyhintXErrors[yyhintXError{yystate, yyxchar}]
|
|
if !ok {
|
|
msg, ok = yyhintXErrors[yyhintXError{yystate, -1}]
|
|
}
|
|
if !ok && yyshift != 0 {
|
|
msg, ok = yyhintXErrors[yyhintXError{yyshift, yyxchar}]
|
|
}
|
|
if !ok {
|
|
msg, ok = yyhintXErrors[yyhintXError{yyshift, -1}]
|
|
}
|
|
if !ok || msg == "" {
|
|
msg = "syntax error"
|
|
}
|
|
// ignore goyacc error message
|
|
yylex.AppendError(yylex.Errorf(""))
|
|
Nerrs++
|
|
fallthrough
|
|
|
|
case 1, 2: /* incompletely recovered error ... try again */
|
|
Errflag = 3
|
|
|
|
/* find a state where "error" is a legal shift action */
|
|
for yyp >= 0 {
|
|
row := yyhintParseTab[yyS[yyp].yys]
|
|
if yyError < len(row) {
|
|
yyn = int(row[yyError]) + yyhintTabOfs
|
|
if yyn > 0 { // hit
|
|
if yyhintDebug >= 2 {
|
|
__yyfmt__.Printf("error recovery found error shift in state %d\n", yyS[yyp].yys)
|
|
}
|
|
yystate = yyn /* simulate a shift of "error" */
|
|
goto yystack
|
|
}
|
|
}
|
|
|
|
/* the current p has no shift on "error", pop stack */
|
|
if yyhintDebug >= 2 {
|
|
__yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys)
|
|
}
|
|
yyp--
|
|
}
|
|
/* there is no state on the stack with an error shift ... abort */
|
|
if yyhintDebug >= 2 {
|
|
__yyfmt__.Printf("error recovery failed\n")
|
|
}
|
|
goto ret1
|
|
|
|
case 3: /* no shift yet; clobber input char */
|
|
if yyhintDebug >= 2 {
|
|
__yyfmt__.Printf("error recovery discards %s\n", yyhintSymName(yychar))
|
|
}
|
|
if yychar == yyhintEOFCode {
|
|
goto ret1
|
|
}
|
|
|
|
yychar = -1
|
|
goto yynewstate /* try again in the same state */
|
|
}
|
|
}
|
|
|
|
r := -yyn
|
|
x0 := yyhintReductions[r]
|
|
x, n := x0.xsym, x0.components
|
|
yypt := yyp
|
|
_ = yypt // guard against "declared and not used"
|
|
|
|
yyp -= n
|
|
if yyp+1 >= len(yyS) {
|
|
nyys := make([]yyhintSymType, len(yyS)*2)
|
|
copy(nyys, yyS)
|
|
yyS = nyys
|
|
parser.cache = yyS
|
|
}
|
|
parser.yyVAL = &yyS[yyp+1]
|
|
|
|
/* consult goto table to find next state */
|
|
exState := yystate
|
|
yystate = int(yyhintParseTab[yyS[yyp].yys][x]) + yyhintTabOfs
|
|
/* reduction by production r */
|
|
if yyhintDebug >= 2 {
|
|
__yyfmt__.Printf("reduce using rule %v (%s), and goto state %d\n", r, yyhintSymNames[x], yystate)
|
|
}
|
|
|
|
switch r {
|
|
case 1:
|
|
{
|
|
parser.result = yyS[yypt-0].hints
|
|
}
|
|
case 2:
|
|
{
|
|
if yyS[yypt-0].hint != nil {
|
|
parser.yyVAL.hints = []*ast.TableOptimizerHint{yyS[yypt-0].hint}
|
|
}
|
|
}
|
|
case 3:
|
|
{
|
|
if yyS[yypt-0].hint != nil {
|
|
parser.yyVAL.hints = append(yyS[yypt-2].hints, yyS[yypt-0].hint)
|
|
} else {
|
|
parser.yyVAL.hints = yyS[yypt-2].hints
|
|
}
|
|
}
|
|
case 4:
|
|
{
|
|
parser.yyVAL.hints = yyS[yypt-0].hints
|
|
}
|
|
case 5:
|
|
{
|
|
parser.yyVAL.hints = append(yyS[yypt-2].hints, yyS[yypt-0].hints...)
|
|
}
|
|
case 6:
|
|
{
|
|
parser.warnUnsupportedHint(yyS[yypt-3].ident)
|
|
parser.yyVAL.hint = nil
|
|
}
|
|
case 7:
|
|
{
|
|
parser.warnUnsupportedHint(yyS[yypt-3].ident)
|
|
parser.yyVAL.hint = nil
|
|
}
|
|
case 8:
|
|
{
|
|
parser.warnUnsupportedHint(yyS[yypt-3].ident)
|
|
parser.yyVAL.hint = nil
|
|
}
|
|
case 9:
|
|
{
|
|
h := yyS[yypt-1].hint
|
|
h.HintName = model.NewCIStr(yyS[yypt-3].ident)
|
|
parser.yyVAL.hint = h
|
|
}
|
|
case 10:
|
|
{
|
|
parser.warnUnsupportedHint(yyS[yypt-3].ident)
|
|
parser.yyVAL.hint = nil
|
|
}
|
|
case 11:
|
|
{
|
|
h := yyS[yypt-1].hint
|
|
h.HintName = model.NewCIStr(yyS[yypt-3].ident)
|
|
parser.yyVAL.hint = h
|
|
}
|
|
case 12:
|
|
{
|
|
parser.warnUnsupportedHint(yyS[yypt-4].ident)
|
|
parser.yyVAL.hint = nil
|
|
}
|
|
case 13:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
HintName: model.NewCIStr(yyS[yypt-4].ident),
|
|
QBName: model.NewCIStr(yyS[yypt-2].ident),
|
|
HintData: yyS[yypt-1].number,
|
|
}
|
|
}
|
|
case 14:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
HintName: model.NewCIStr(yyS[yypt-4].ident),
|
|
QBName: model.NewCIStr(yyS[yypt-2].ident),
|
|
HintData: int64(yyS[yypt-1].number),
|
|
}
|
|
}
|
|
case 15:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
HintName: model.NewCIStr(yyS[yypt-5].ident),
|
|
HintData: ast.HintSetVar{
|
|
VarName: yyS[yypt-3].ident,
|
|
Value: yyS[yypt-1].ident,
|
|
},
|
|
}
|
|
}
|
|
case 16:
|
|
{
|
|
parser.warnUnsupportedHint(yyS[yypt-3].ident)
|
|
parser.yyVAL.hint = nil
|
|
}
|
|
case 17:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
HintName: model.NewCIStr(yyS[yypt-3].ident),
|
|
QBName: model.NewCIStr(yyS[yypt-1].ident),
|
|
}
|
|
}
|
|
case 18:
|
|
{
|
|
maxValue := uint64(math.MaxInt64) / yyS[yypt-1].number
|
|
if yyS[yypt-2].number <= maxValue {
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
HintName: model.NewCIStr(yyS[yypt-5].ident),
|
|
HintData: int64(yyS[yypt-2].number * yyS[yypt-1].number),
|
|
QBName: model.NewCIStr(yyS[yypt-3].ident),
|
|
}
|
|
} else {
|
|
yylex.AppendError(ErrWarnMemoryQuotaOverflow.GenWithStackByArgs(math.MaxInt64))
|
|
parser.lastErrorAsWarn()
|
|
parser.yyVAL.hint = nil
|
|
}
|
|
}
|
|
case 19:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
HintName: model.NewCIStr(yyS[yypt-5].ident),
|
|
HintData: ast.HintTimeRange{
|
|
From: yyS[yypt-3].ident,
|
|
To: yyS[yypt-1].ident,
|
|
},
|
|
}
|
|
}
|
|
case 20:
|
|
{
|
|
h := yyS[yypt-1].hint
|
|
h.HintName = model.NewCIStr(yyS[yypt-4].ident)
|
|
h.QBName = model.NewCIStr(yyS[yypt-2].ident)
|
|
parser.yyVAL.hint = h
|
|
}
|
|
case 21:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
HintName: model.NewCIStr(yyS[yypt-3].ident),
|
|
QBName: model.NewCIStr(yyS[yypt-1].ident),
|
|
}
|
|
}
|
|
case 22:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
HintName: model.NewCIStr(yyS[yypt-4].ident),
|
|
QBName: model.NewCIStr(yyS[yypt-2].ident),
|
|
HintData: model.NewCIStr(yyS[yypt-1].ident),
|
|
}
|
|
}
|
|
case 23:
|
|
{
|
|
hs := yyS[yypt-1].hints
|
|
name := model.NewCIStr(yyS[yypt-4].ident)
|
|
qb := model.NewCIStr(yyS[yypt-2].ident)
|
|
for _, h := range hs {
|
|
h.HintName = name
|
|
h.QBName = qb
|
|
}
|
|
parser.yyVAL.hints = hs
|
|
}
|
|
case 24:
|
|
{
|
|
parser.yyVAL.hints = []*ast.TableOptimizerHint{yyS[yypt-0].hint}
|
|
}
|
|
case 25:
|
|
{
|
|
parser.yyVAL.hints = append(yyS[yypt-2].hints, yyS[yypt-0].hint)
|
|
}
|
|
case 26:
|
|
{
|
|
h := yyS[yypt-1].hint
|
|
h.HintData = model.NewCIStr(yyS[yypt-3].ident)
|
|
parser.yyVAL.hint = h
|
|
}
|
|
case 27:
|
|
{
|
|
parser.yyVAL.ident = ""
|
|
}
|
|
case 31:
|
|
{
|
|
parser.yyVAL.modelIdents = nil
|
|
}
|
|
case 32:
|
|
{
|
|
parser.yyVAL.modelIdents = yyS[yypt-1].modelIdents
|
|
}
|
|
case 33:
|
|
{
|
|
parser.yyVAL.modelIdents = []model.CIStr{model.NewCIStr(yyS[yypt-0].ident)}
|
|
}
|
|
case 34:
|
|
{
|
|
parser.yyVAL.modelIdents = append(yyS[yypt-2].modelIdents, model.NewCIStr(yyS[yypt-0].ident))
|
|
}
|
|
case 36:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
QBName: model.NewCIStr(yyS[yypt-0].ident),
|
|
}
|
|
}
|
|
case 37:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
Tables: []ast.HintTable{yyS[yypt-0].table},
|
|
QBName: model.NewCIStr(yyS[yypt-1].ident),
|
|
}
|
|
}
|
|
case 38:
|
|
{
|
|
h := yyS[yypt-2].hint
|
|
h.Tables = append(h.Tables, yyS[yypt-0].table)
|
|
parser.yyVAL.hint = h
|
|
}
|
|
case 39:
|
|
{
|
|
parser.yyVAL.table = ast.HintTable{
|
|
TableName: model.NewCIStr(yyS[yypt-2].ident),
|
|
QBName: model.NewCIStr(yyS[yypt-1].ident),
|
|
PartitionList: yyS[yypt-0].modelIdents,
|
|
}
|
|
}
|
|
case 40:
|
|
{
|
|
parser.yyVAL.table = ast.HintTable{
|
|
DBName: model.NewCIStr(yyS[yypt-4].ident),
|
|
TableName: model.NewCIStr(yyS[yypt-2].ident),
|
|
QBName: model.NewCIStr(yyS[yypt-1].ident),
|
|
PartitionList: yyS[yypt-0].modelIdents,
|
|
}
|
|
}
|
|
case 41:
|
|
{
|
|
h := yyS[yypt-0].hint
|
|
h.Tables = []ast.HintTable{yyS[yypt-2].table}
|
|
h.QBName = model.NewCIStr(yyS[yypt-3].ident)
|
|
parser.yyVAL.hint = h
|
|
}
|
|
case 42:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{}
|
|
}
|
|
case 44:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{
|
|
Indexes: []model.CIStr{model.NewCIStr(yyS[yypt-0].ident)},
|
|
}
|
|
}
|
|
case 45:
|
|
{
|
|
h := yyS[yypt-2].hint
|
|
h.Indexes = append(h.Indexes, model.NewCIStr(yyS[yypt-0].ident))
|
|
parser.yyVAL.hint = h
|
|
}
|
|
case 52:
|
|
{
|
|
parser.yyVAL.ident = strconv.FormatUint(yyS[yypt-0].number, 10)
|
|
}
|
|
case 53:
|
|
{
|
|
parser.yyVAL.number = 1024 * 1024
|
|
}
|
|
case 54:
|
|
{
|
|
parser.yyVAL.number = 1024 * 1024 * 1024
|
|
}
|
|
case 55:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{HintData: true}
|
|
}
|
|
case 56:
|
|
{
|
|
parser.yyVAL.hint = &ast.TableOptimizerHint{HintData: false}
|
|
}
|
|
|
|
}
|
|
|
|
if !parser.lexer.skipPositionRecording {
|
|
yyhintSetOffset(parser.yyVAL, parser.yyVAL.offset)
|
|
}
|
|
|
|
if yyEx != nil && yyEx.Reduced(r, exState, parser.yyVAL) {
|
|
return -1
|
|
}
|
|
goto yystack /* stack new state and value */
|
|
}
|