diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 392f84a2..989f80eb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -40,7 +40,7 @@ jobs: - name: run tests with num-bigint run: cargo test --all --no-default-features --features num-bigint - name: run tests with malachite-bigint and all features - run: cargo test --all --features location,malachite-bigint,constant-optimization,fold,unparse,visitor,all-nodes-with-ranges,full-lexer,serde --exclude rustpython-ast-pyo3 + run: cargo test --all --features malachite-bigint,full-lexer,serde lint: name: Check Rust code with rustfmt and clippy @@ -55,7 +55,7 @@ jobs: - name: run clippy run: cargo clippy --all --no-default-features --features num-bigint - name: run clippy - run: cargo clippy --all --features location,malachite-bigint,constant-optimization,fold,unparse,visitor,all-nodes-with-ranges,full-lexer,serde --exclude rustpython-ast-pyo3 -- -Dwarnings + run: cargo clippy --all --features malachite-bigint,full-lexer,serde -- -Dwarnings - uses: actions/setup-python@v4 with: @@ -73,4 +73,3 @@ jobs: 'core/**/*.rs' 'literal/**/*.rs' 'parser/**/*.rs' - 'ast/asdl_rs.py' diff --git a/.gitignore b/.gitignore index 5f2428af..89454b8e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ __pycache__ .*sw* .vscode .idea/ +.venv/ flame-graph.html flame.txt diff --git a/Cargo.toml b/Cargo.toml index 2342f7f1..219221e6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,9 +11,7 @@ include = ["LICENSE", "Cargo.toml", "src/**/*.rs"] [workspace] resolver = "2" members = [ - "ast", "core", "format", "literal", "parser", - "ast-pyo3", - "ruff_text_size", "ruff_source_location", + "ast", "core", "format", "literal", "parser", "ruff_text_size", ] [workspace.dependencies] diff --git a/ast-pyo3/.gitignore b/ast-pyo3/.gitignore deleted file mode 100644 index af3ca5ef..00000000 --- a/ast-pyo3/.gitignore +++ /dev/null @@ -1,72 +0,0 @@ -/target - -# Byte-compiled / optimized / DLL files -__pycache__/ -.pytest_cache/ -*.py[cod] - -# C extensions -*.so - -# Distribution / packaging -.Python -.venv/ -env/ -bin/ -build/ -develop-eggs/ -dist/ -eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -include/ -man/ -venv/ -*.egg-info/ -.installed.cfg -*.egg - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt -pip-selfcheck.json - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.cache -nosetests.xml -coverage.xml - -# Translations -*.mo - -# Mr Developer -.mr.developer.cfg -.project -.pydevproject - -# Rope -.ropeproject - -# Django stuff: -*.log -*.pot - -.DS_Store - -# Sphinx documentation -docs/_build/ - -# PyCharm -.idea/ - -# VSCode -.vscode/ - -# Pyenv -.python-version \ No newline at end of file diff --git a/ast-pyo3/Cargo.toml b/ast-pyo3/Cargo.toml deleted file mode 100644 index bf145ab4..00000000 --- a/ast-pyo3/Cargo.toml +++ /dev/null @@ -1,23 +0,0 @@ -[package] -name = "rustpython-ast-pyo3" -version = "0.0.1" -edition = "2021" - -[features] -# abi3 = ["pyo3/abi3-py37"] # will be supported from next pyo3 version -# This feature is experimental -# It reimplements AST types, but currently both slower than python AST types and limited to use in other API -wrapper = [] - -[lib] -name = "rustpython_ast" -crate-type = ["cdylib"] - -[dependencies] -rustpython-ast = { workspace = true, features = ["location"] } -rustpython-parser = { workspace = true, features = ["num-bigint"] } -num-complex = { workspace = true } -num-traits = { workspace = true } -once_cell = { workspace = true } - -pyo3 = { workspace = true, features = ["num-bigint", "num-complex"] } diff --git a/ast-pyo3/pyproject.toml b/ast-pyo3/pyproject.toml deleted file mode 100644 index f6e6dbcd..00000000 --- a/ast-pyo3/pyproject.toml +++ /dev/null @@ -1,15 +0,0 @@ -[build-system] -requires = ["maturin>=0.15,<0.16"] -build-backend = "maturin" - -[project] -name = "rustpython_ast" -requires-python = ">=3.7" -classifiers = [ - "Programming Language :: Rust", - "Programming Language :: Python :: Implementation :: CPython", -] - -[tool.maturin] -# module-name = "_rustpython_ast" -features = ["pyo3/extension-module"] diff --git a/ast-pyo3/rustpython_ast/__init__.py b/ast-pyo3/rustpython_ast/__init__.py deleted file mode 100644 index a013bb1b..00000000 --- a/ast-pyo3/rustpython_ast/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from rustpython_ast.rustpython_ast import parse - -__all__ = ["parse"] diff --git a/ast-pyo3/src/gen/to_py_ast.rs b/ast-pyo3/src/gen/to_py_ast.rs deleted file mode 100644 index c3288f28..00000000 --- a/ast-pyo3/src/gen/to_py_ast.rs +++ /dev/null @@ -1,4841 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -impl PyNode for ast::Mod { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ModModule { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ModInteractive { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ModExpression { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ModFunctionType { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Stmt { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtFunctionDef { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAsyncFunctionDef { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtClassDef { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtReturn { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtDelete { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAssign { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAugAssign { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAnnAssign { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtFor { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAsyncFor { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtWhile { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtIf { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtWith { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAsyncWith { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtMatch { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtRaise { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtTry { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtTryStar { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtAssert { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtImport { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtImportFrom { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtGlobal { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtNonlocal { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtExpr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtPass { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtBreak { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::StmtContinue { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Expr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprBoolOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprNamedExpr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprBinOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprUnaryOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprLambda { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprIfExp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprDict { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprSet { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprListComp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprSetComp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprDictComp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprGeneratorExp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprAwait { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprYield { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprYieldFrom { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprCompare { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprCall { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprFormattedValue { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprJoinedStr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprConstant { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprAttribute { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprSubscript { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprStarred { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprName { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprList { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprTuple { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprSlice { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprContext { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprContextLoad { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprContextStore { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExprContextDel { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::BoolOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::BoolOpAnd { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::BoolOpOr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Operator { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorAdd { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorSub { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorMult { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorMatMult { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorDiv { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorMod { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorPow { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorLShift { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorRShift { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorBitOr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorBitXor { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorBitAnd { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::OperatorFloorDiv { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::UnaryOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::UnaryOpInvert { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::UnaryOpNot { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::UnaryOpUAdd { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::UnaryOpUSub { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOp { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpEq { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpNotEq { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpLt { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpLtE { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpGt { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpGtE { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpIs { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpIsNot { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpIn { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::CmpOpNotIn { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Comprehension { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExceptHandler { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::ExceptHandlerExceptHandler { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PythonArguments { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Arg { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Keyword { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Alias { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::WithItem { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::MatchCase { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::Pattern { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchValue { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchSingleton { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchSequence { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchMapping { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchClass { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchStar { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchAs { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::PatternMatchOr { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::TypeIgnore { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl PyNode for ast::TypeIgnoreTypeIgnore { - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } -} - -impl ToPyAst for ast::ExprContext { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cell = match &self { - ast::ExprContext::Load => ast::ExprContextLoad::py_type_cache(), - ast::ExprContext::Store => ast::ExprContextStore::py_type_cache(), - ast::ExprContext::Del => ast::ExprContextDel::py_type_cache(), - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } -} - -impl ToPyAst for ast::BoolOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cell = match &self { - ast::BoolOp::And => ast::BoolOpAnd::py_type_cache(), - ast::BoolOp::Or => ast::BoolOpOr::py_type_cache(), - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } -} - -impl ToPyAst for ast::Operator { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cell = match &self { - ast::Operator::Add => ast::OperatorAdd::py_type_cache(), - ast::Operator::Sub => ast::OperatorSub::py_type_cache(), - ast::Operator::Mult => ast::OperatorMult::py_type_cache(), - ast::Operator::MatMult => ast::OperatorMatMult::py_type_cache(), - ast::Operator::Div => ast::OperatorDiv::py_type_cache(), - ast::Operator::Mod => ast::OperatorMod::py_type_cache(), - ast::Operator::Pow => ast::OperatorPow::py_type_cache(), - ast::Operator::LShift => ast::OperatorLShift::py_type_cache(), - ast::Operator::RShift => ast::OperatorRShift::py_type_cache(), - ast::Operator::BitOr => ast::OperatorBitOr::py_type_cache(), - ast::Operator::BitXor => ast::OperatorBitXor::py_type_cache(), - ast::Operator::BitAnd => ast::OperatorBitAnd::py_type_cache(), - ast::Operator::FloorDiv => ast::OperatorFloorDiv::py_type_cache(), - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } -} - -impl ToPyAst for ast::UnaryOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cell = match &self { - ast::UnaryOp::Invert => ast::UnaryOpInvert::py_type_cache(), - ast::UnaryOp::Not => ast::UnaryOpNot::py_type_cache(), - ast::UnaryOp::UAdd => ast::UnaryOpUAdd::py_type_cache(), - ast::UnaryOp::USub => ast::UnaryOpUSub::py_type_cache(), - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } -} - -impl ToPyAst for ast::CmpOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cell = match &self { - ast::CmpOp::Eq => ast::CmpOpEq::py_type_cache(), - ast::CmpOp::NotEq => ast::CmpOpNotEq::py_type_cache(), - ast::CmpOp::Lt => ast::CmpOpLt::py_type_cache(), - ast::CmpOp::LtE => ast::CmpOpLtE::py_type_cache(), - ast::CmpOp::Gt => ast::CmpOpGt::py_type_cache(), - ast::CmpOp::GtE => ast::CmpOpGtE::py_type_cache(), - ast::CmpOp::Is => ast::CmpOpIs::py_type_cache(), - ast::CmpOp::IsNot => ast::CmpOpIsNot::py_type_cache(), - ast::CmpOp::In => ast::CmpOpIn::py_type_cache(), - ast::CmpOp::NotIn => ast::CmpOpNotIn::py_type_cache(), - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } -} - -impl ToPyAst for ast::Mod { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Mod::Module(cons) => cons.to_py_ast(py)?, - ast::Mod::Interactive(cons) => cons.to_py_ast(py)?, - ast::Mod::Expression(cons) => cons.to_py_ast(py)?, - ast::Mod::FunctionType(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ModModule { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - type_ignores, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((body.to_py_ast(py)?, type_ignores.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModInteractive { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((body.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModExpression { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((body.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModFunctionType { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - argtypes, - returns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((argtypes.to_py_ast(py)?, returns.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Stmt { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Stmt::FunctionDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncFunctionDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::ClassDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::Return(cons) => cons.to_py_ast(py)?, - ast::Stmt::Delete(cons) => cons.to_py_ast(py)?, - ast::Stmt::Assign(cons) => cons.to_py_ast(py)?, - ast::Stmt::AugAssign(cons) => cons.to_py_ast(py)?, - ast::Stmt::AnnAssign(cons) => cons.to_py_ast(py)?, - ast::Stmt::For(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncFor(cons) => cons.to_py_ast(py)?, - ast::Stmt::While(cons) => cons.to_py_ast(py)?, - ast::Stmt::If(cons) => cons.to_py_ast(py)?, - ast::Stmt::With(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncWith(cons) => cons.to_py_ast(py)?, - ast::Stmt::Match(cons) => cons.to_py_ast(py)?, - ast::Stmt::Raise(cons) => cons.to_py_ast(py)?, - ast::Stmt::Try(cons) => cons.to_py_ast(py)?, - ast::Stmt::TryStar(cons) => cons.to_py_ast(py)?, - ast::Stmt::Assert(cons) => cons.to_py_ast(py)?, - ast::Stmt::Import(cons) => cons.to_py_ast(py)?, - ast::Stmt::ImportFrom(cons) => cons.to_py_ast(py)?, - ast::Stmt::Global(cons) => cons.to_py_ast(py)?, - ast::Stmt::Nonlocal(cons) => cons.to_py_ast(py)?, - ast::Stmt::Expr(cons) => cons.to_py_ast(py)?, - ast::Stmt::Pass(cons) => cons.to_py_ast(py)?, - ast::Stmt::Break(cons) => cons.to_py_ast(py)?, - ast::Stmt::Continue(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::StmtFunctionDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - args, - body, - decorator_list, - returns, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - args.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - returns.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncFunctionDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - args, - body, - decorator_list, - returns, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - args.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - returns.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtClassDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - bases, - keywords, - body, - decorator_list, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - bases.to_py_ast(py)?, - keywords.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtReturn { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtDelete { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - targets, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((targets.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - targets, - value, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - targets.to_py_ast(py)?, - value.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAugAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - op, - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - op.to_py_ast(py)?, - value.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAnnAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - annotation, - value, - simple, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - annotation.to_py_ast(py)?, - value.to_py_ast(py)?, - simple.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtFor { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - body, - orelse, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncFor { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - body, - orelse, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtWhile { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtIf { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtWith { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - items, - body, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - items.to_py_ast(py)?, - body.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncWith { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - items, - body, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - items.to_py_ast(py)?, - body.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtMatch { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - subject, - cases, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((subject.to_py_ast(py)?, cases.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtRaise { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - exc, - cause, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((exc.to_py_ast(py)?, cause.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtTry { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - handlers, - orelse, - finalbody, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - body.to_py_ast(py)?, - handlers.to_py_ast(py)?, - orelse.to_py_ast(py)?, - finalbody.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtTryStar { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - handlers, - orelse, - finalbody, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - body.to_py_ast(py)?, - handlers.to_py_ast(py)?, - orelse.to_py_ast(py)?, - finalbody.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAssert { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - msg, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((test.to_py_ast(py)?, msg.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtImport { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtImportFrom { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - module, - names, - level, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - module.to_py_ast(py)?, - names.to_py_ast(py)?, - level.map_or_else(|| py.None(), |level| level.to_u32().to_object(py)), - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtGlobal { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtNonlocal { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtExpr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtPass { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtBreak { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtContinue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Expr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Expr::BoolOp(cons) => cons.to_py_ast(py)?, - ast::Expr::NamedExpr(cons) => cons.to_py_ast(py)?, - ast::Expr::BinOp(cons) => cons.to_py_ast(py)?, - ast::Expr::UnaryOp(cons) => cons.to_py_ast(py)?, - ast::Expr::Lambda(cons) => cons.to_py_ast(py)?, - ast::Expr::IfExp(cons) => cons.to_py_ast(py)?, - ast::Expr::Dict(cons) => cons.to_py_ast(py)?, - ast::Expr::Set(cons) => cons.to_py_ast(py)?, - ast::Expr::ListComp(cons) => cons.to_py_ast(py)?, - ast::Expr::SetComp(cons) => cons.to_py_ast(py)?, - ast::Expr::DictComp(cons) => cons.to_py_ast(py)?, - ast::Expr::GeneratorExp(cons) => cons.to_py_ast(py)?, - ast::Expr::Await(cons) => cons.to_py_ast(py)?, - ast::Expr::Yield(cons) => cons.to_py_ast(py)?, - ast::Expr::YieldFrom(cons) => cons.to_py_ast(py)?, - ast::Expr::Compare(cons) => cons.to_py_ast(py)?, - ast::Expr::Call(cons) => cons.to_py_ast(py)?, - ast::Expr::FormattedValue(cons) => cons.to_py_ast(py)?, - ast::Expr::JoinedStr(cons) => cons.to_py_ast(py)?, - ast::Expr::Constant(cons) => cons.to_py_ast(py)?, - ast::Expr::Attribute(cons) => cons.to_py_ast(py)?, - ast::Expr::Subscript(cons) => cons.to_py_ast(py)?, - ast::Expr::Starred(cons) => cons.to_py_ast(py)?, - ast::Expr::Name(cons) => cons.to_py_ast(py)?, - ast::Expr::List(cons) => cons.to_py_ast(py)?, - ast::Expr::Tuple(cons) => cons.to_py_ast(py)?, - ast::Expr::Slice(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ExprBoolOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - op, - values, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((op.to_py_ast(py)?, values.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprNamedExpr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((target.to_py_ast(py)?, value.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprBinOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - left, - op, - right, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - left.to_py_ast(py)?, - op.to_py_ast(py)?, - right.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprUnaryOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - op, - operand, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((op.to_py_ast(py)?, operand.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprLambda { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - args, - body, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((args.to_py_ast(py)?, body.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprIfExp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprDict { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - keys, - values, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((keys.to_py_ast(py)?, values.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSet { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprListComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSetComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprDictComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - key, - value, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - key.to_py_ast(py)?, - value.to_py_ast(py)?, - generators.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprGeneratorExp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprAwait { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprYield { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprYieldFrom { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprCompare { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - left, - ops, - comparators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - left.to_py_ast(py)?, - ops.to_py_ast(py)?, - comparators.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprCall { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - func, - args, - keywords, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - func.to_py_ast(py)?, - args.to_py_ast(py)?, - keywords.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprFormattedValue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - conversion, - format_spec, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - conversion.to_py_ast(py)?, - format_spec.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprJoinedStr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - values, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((values.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprConstant { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - kind, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((constant_to_object(value, py), kind.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprAttribute { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - attr, - ctx, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - attr.to_py_ast(py)?, - ctx.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSubscript { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - slice, - ctx, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - slice.to_py_ast(py)?, - ctx.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprStarred { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprName { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - id, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((id.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprList { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprTuple { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSlice { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - lower, - upper, - step, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - lower.to_py_ast(py)?, - upper.to_py_ast(py)?, - step.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Comprehension { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - ifs, - is_async, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - ifs.to_py_ast(py)?, - is_async.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExceptHandler { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::ExceptHandler::ExceptHandler(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ExceptHandlerExceptHandler { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - type_, - name, - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - type_.to_py_ast(py)?, - name.to_py_ast(py)?, - body.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PythonArguments { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - posonlyargs, - args, - vararg, - kwonlyargs, - kw_defaults, - kwarg, - defaults, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - posonlyargs.to_py_ast(py)?, - args.to_py_ast(py)?, - vararg.to_py_ast(py)?, - kwonlyargs.to_py_ast(py)?, - kw_defaults.to_py_ast(py)?, - kwarg.to_py_ast(py)?, - defaults.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Arg { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - arg, - annotation, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - arg.to_py_ast(py)?, - annotation.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Keyword { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - arg, - value, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((arg.to_py_ast(py)?, value.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Alias { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - asname, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((name.to_py_ast(py)?, asname.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::WithItem { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - context_expr, - optional_vars, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((context_expr.to_py_ast(py)?, optional_vars.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::MatchCase { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - pattern, - guard, - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - pattern.to_py_ast(py)?, - guard.to_py_ast(py)?, - body.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Pattern { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Pattern::MatchValue(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchSingleton(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchSequence(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchMapping(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchClass(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchStar(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchAs(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchOr(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchValue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchSingleton { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((constant_to_object(value, py),))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchSequence { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((patterns.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchMapping { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - keys, - patterns, - rest, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - keys.to_py_ast(py)?, - patterns.to_py_ast(py)?, - rest.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchClass { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - cls, - patterns, - kwd_attrs, - kwd_patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - cls.to_py_ast(py)?, - patterns.to_py_ast(py)?, - kwd_attrs.to_py_ast(py)?, - kwd_patterns.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchStar { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((name.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchAs { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - pattern, - name, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((pattern.to_py_ast(py)?, name.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchOr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((patterns.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::TypeIgnore { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::TypeIgnore::TypeIgnore(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::TypeIgnoreTypeIgnore { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - lineno, - tag, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((lineno.to_u32().to_object(py), tag.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Mod { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Mod::Module(cons) => cons.to_py_ast(py)?, - ast::Mod::Interactive(cons) => cons.to_py_ast(py)?, - ast::Mod::Expression(cons) => cons.to_py_ast(py)?, - ast::Mod::FunctionType(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ModModule { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - type_ignores, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((body.to_py_ast(py)?, type_ignores.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModInteractive { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((body.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModExpression { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((body.to_py_ast(py)?,))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ModFunctionType { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - argtypes, - returns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((argtypes.to_py_ast(py)?, returns.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Stmt { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Stmt::FunctionDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncFunctionDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::ClassDef(cons) => cons.to_py_ast(py)?, - ast::Stmt::Return(cons) => cons.to_py_ast(py)?, - ast::Stmt::Delete(cons) => cons.to_py_ast(py)?, - ast::Stmt::Assign(cons) => cons.to_py_ast(py)?, - ast::Stmt::AugAssign(cons) => cons.to_py_ast(py)?, - ast::Stmt::AnnAssign(cons) => cons.to_py_ast(py)?, - ast::Stmt::For(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncFor(cons) => cons.to_py_ast(py)?, - ast::Stmt::While(cons) => cons.to_py_ast(py)?, - ast::Stmt::If(cons) => cons.to_py_ast(py)?, - ast::Stmt::With(cons) => cons.to_py_ast(py)?, - ast::Stmt::AsyncWith(cons) => cons.to_py_ast(py)?, - ast::Stmt::Match(cons) => cons.to_py_ast(py)?, - ast::Stmt::Raise(cons) => cons.to_py_ast(py)?, - ast::Stmt::Try(cons) => cons.to_py_ast(py)?, - ast::Stmt::TryStar(cons) => cons.to_py_ast(py)?, - ast::Stmt::Assert(cons) => cons.to_py_ast(py)?, - ast::Stmt::Import(cons) => cons.to_py_ast(py)?, - ast::Stmt::ImportFrom(cons) => cons.to_py_ast(py)?, - ast::Stmt::Global(cons) => cons.to_py_ast(py)?, - ast::Stmt::Nonlocal(cons) => cons.to_py_ast(py)?, - ast::Stmt::Expr(cons) => cons.to_py_ast(py)?, - ast::Stmt::Pass(cons) => cons.to_py_ast(py)?, - ast::Stmt::Break(cons) => cons.to_py_ast(py)?, - ast::Stmt::Continue(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::StmtFunctionDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - args, - body, - decorator_list, - returns, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - args.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - returns.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncFunctionDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - args, - body, - decorator_list, - returns, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - args.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - returns.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtClassDef { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - bases, - keywords, - body, - decorator_list, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - name.to_py_ast(py)?, - bases.to_py_ast(py)?, - keywords.to_py_ast(py)?, - body.to_py_ast(py)?, - decorator_list.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtReturn { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtDelete { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - targets, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((targets.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - targets, - value, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - targets.to_py_ast(py)?, - value.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAugAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - op, - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - op.to_py_ast(py)?, - value.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAnnAssign { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - annotation, - value, - simple, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - annotation.to_py_ast(py)?, - value.to_py_ast(py)?, - simple.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtFor { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - body, - orelse, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncFor { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - body, - orelse, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtWhile { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtIf { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtWith { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - items, - body, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - items.to_py_ast(py)?, - body.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAsyncWith { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - items, - body, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - items.to_py_ast(py)?, - body.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtMatch { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - subject, - cases, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((subject.to_py_ast(py)?, cases.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtRaise { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - exc, - cause, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((exc.to_py_ast(py)?, cause.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtTry { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - handlers, - orelse, - finalbody, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - body.to_py_ast(py)?, - handlers.to_py_ast(py)?, - orelse.to_py_ast(py)?, - finalbody.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtTryStar { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - body, - handlers, - orelse, - finalbody, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - body.to_py_ast(py)?, - handlers.to_py_ast(py)?, - orelse.to_py_ast(py)?, - finalbody.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtAssert { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - msg, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((test.to_py_ast(py)?, msg.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtImport { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtImportFrom { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - module, - names, - level, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - module.to_py_ast(py)?, - names.to_py_ast(py)?, - level.map_or_else(|| py.None(), |level| level.to_u32().to_object(py)), - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtGlobal { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtNonlocal { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - names, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((names.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtExpr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtPass { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtBreak { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::StmtContinue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { range: _range } = self; - let instance = Py::::as_ref(&cache.0, py).call0()?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::Expr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Expr::BoolOp(cons) => cons.to_py_ast(py)?, - ast::Expr::NamedExpr(cons) => cons.to_py_ast(py)?, - ast::Expr::BinOp(cons) => cons.to_py_ast(py)?, - ast::Expr::UnaryOp(cons) => cons.to_py_ast(py)?, - ast::Expr::Lambda(cons) => cons.to_py_ast(py)?, - ast::Expr::IfExp(cons) => cons.to_py_ast(py)?, - ast::Expr::Dict(cons) => cons.to_py_ast(py)?, - ast::Expr::Set(cons) => cons.to_py_ast(py)?, - ast::Expr::ListComp(cons) => cons.to_py_ast(py)?, - ast::Expr::SetComp(cons) => cons.to_py_ast(py)?, - ast::Expr::DictComp(cons) => cons.to_py_ast(py)?, - ast::Expr::GeneratorExp(cons) => cons.to_py_ast(py)?, - ast::Expr::Await(cons) => cons.to_py_ast(py)?, - ast::Expr::Yield(cons) => cons.to_py_ast(py)?, - ast::Expr::YieldFrom(cons) => cons.to_py_ast(py)?, - ast::Expr::Compare(cons) => cons.to_py_ast(py)?, - ast::Expr::Call(cons) => cons.to_py_ast(py)?, - ast::Expr::FormattedValue(cons) => cons.to_py_ast(py)?, - ast::Expr::JoinedStr(cons) => cons.to_py_ast(py)?, - ast::Expr::Constant(cons) => cons.to_py_ast(py)?, - ast::Expr::Attribute(cons) => cons.to_py_ast(py)?, - ast::Expr::Subscript(cons) => cons.to_py_ast(py)?, - ast::Expr::Starred(cons) => cons.to_py_ast(py)?, - ast::Expr::Name(cons) => cons.to_py_ast(py)?, - ast::Expr::List(cons) => cons.to_py_ast(py)?, - ast::Expr::Tuple(cons) => cons.to_py_ast(py)?, - ast::Expr::Slice(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ExprBoolOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - op, - values, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((op.to_py_ast(py)?, values.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprNamedExpr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((target.to_py_ast(py)?, value.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprBinOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - left, - op, - right, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - left.to_py_ast(py)?, - op.to_py_ast(py)?, - right.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprUnaryOp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - op, - operand, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((op.to_py_ast(py)?, operand.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprLambda { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - args, - body, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((args.to_py_ast(py)?, body.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprIfExp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - test, - body, - orelse, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - test.to_py_ast(py)?, - body.to_py_ast(py)?, - orelse.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprDict { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - keys, - values, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((keys.to_py_ast(py)?, values.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSet { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprListComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSetComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprDictComp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - key, - value, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - key.to_py_ast(py)?, - value.to_py_ast(py)?, - generators.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprGeneratorExp { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elt, - generators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((elt.to_py_ast(py)?, generators.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprAwait { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprYield { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprYieldFrom { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprCompare { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - left, - ops, - comparators, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - left.to_py_ast(py)?, - ops.to_py_ast(py)?, - comparators.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprCall { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - func, - args, - keywords, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - func.to_py_ast(py)?, - args.to_py_ast(py)?, - keywords.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprFormattedValue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - conversion, - format_spec, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - conversion.to_py_ast(py)?, - format_spec.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprJoinedStr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - values, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((values.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprConstant { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - kind, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((constant_to_object(value, py), kind.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprAttribute { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - attr, - ctx, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - attr.to_py_ast(py)?, - ctx.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSubscript { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - slice, - ctx, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - value.to_py_ast(py)?, - slice.to_py_ast(py)?, - ctx.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprStarred { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprName { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - id, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((id.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprList { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprTuple { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - elts, - ctx, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((elts.to_py_ast(py)?, ctx.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::ExprSlice { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - lower, - upper, - step, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - lower.to_py_ast(py)?, - upper.to_py_ast(py)?, - step.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::Comprehension { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - target, - iter, - ifs, - is_async, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - target.to_py_ast(py)?, - iter.to_py_ast(py)?, - ifs.to_py_ast(py)?, - is_async.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::ExceptHandler { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::ExceptHandler::ExceptHandler(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::ExceptHandlerExceptHandler { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - type_, - name, - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - type_.to_py_ast(py)?, - name.to_py_ast(py)?, - body.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PythonArguments { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - posonlyargs, - args, - vararg, - kwonlyargs, - kw_defaults, - kwarg, - defaults, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - posonlyargs.to_py_ast(py)?, - args.to_py_ast(py)?, - vararg.to_py_ast(py)?, - kwonlyargs.to_py_ast(py)?, - kw_defaults.to_py_ast(py)?, - kwarg.to_py_ast(py)?, - defaults.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Arg { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - arg, - annotation, - type_comment, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - arg.to_py_ast(py)?, - annotation.to_py_ast(py)?, - type_comment.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::Keyword { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - arg, - value, - range: _range, - } = self; - - let instance = - Py::::as_ref(&cache.0, py).call1((arg.to_py_ast(py)?, value.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::Alias { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - asname, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((name.to_py_ast(py)?, asname.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::WithItem { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - context_expr, - optional_vars, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((context_expr.to_py_ast(py)?, optional_vars.to_py_ast(py)?))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::MatchCase { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - pattern, - guard, - body, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - pattern.to_py_ast(py)?, - guard.to_py_ast(py)?, - body.to_py_ast(py)?, - ))?; - - Ok(instance) - } -} - -impl ToPyAst for ast::Pattern { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::Pattern::MatchValue(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchSingleton(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchSequence(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchMapping(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchClass(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchStar(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchAs(cons) => cons.to_py_ast(py)?, - ast::Pattern::MatchOr(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchValue { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((value.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchSingleton { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - value, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((constant_to_object(value, py),))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchSequence { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((patterns.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchMapping { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - keys, - patterns, - rest, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - keys.to_py_ast(py)?, - patterns.to_py_ast(py)?, - rest.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchClass { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - cls, - patterns, - kwd_attrs, - kwd_patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1(( - cls.to_py_ast(py)?, - patterns.to_py_ast(py)?, - kwd_attrs.to_py_ast(py)?, - kwd_patterns.to_py_ast(py)?, - ))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchStar { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - name, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((name.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchAs { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - pattern, - name, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((pattern.to_py_ast(py)?, name.to_py_ast(py)?))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::PatternMatchOr { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - patterns, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py).call1((patterns.to_py_ast(py)?,))?; - - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - - Ok(instance) - } -} - -impl ToPyAst for ast::TypeIgnore { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let instance = match &self { - ast::TypeIgnore::TypeIgnore(cons) => cons.to_py_ast(py)?, - }; - Ok(instance) - } -} - -impl ToPyAst for ast::TypeIgnoreTypeIgnore { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let cache = Self::py_type_cache().get().unwrap(); - - let Self { - lineno, - tag, - range: _range, - } = self; - - let instance = Py::::as_ref(&cache.0, py) - .call1((lineno.to_u32().to_object(py), tag.to_py_ast(py)?))?; - - Ok(instance) - } -} - -fn init_types(py: Python) -> PyResult<()> { - let ast_module = PyModule::import(py, "_ast")?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - cache_py_type::(ast_module)?; - Ok(()) -} diff --git a/ast-pyo3/src/gen/wrapper_located.rs b/ast-pyo3/src/gen/wrapper_located.rs deleted file mode 100644 index 0aebc63a..00000000 --- a/ast-pyo3/src/gen/wrapper_located.rs +++ /dev/null @@ -1,4413 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -#[pyclass(module="rustpython_ast.located", name="_mod", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Mod; - -impl From<&'static ast::Mod> for Mod { - fn from(_node: &'static ast::Mod) -> Self { - Mod - } -} - -#[pymethods] -impl Mod { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Mod { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Mod { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::Module(cons) => cons.to_py_wrapper(py), - Self::Interactive(cons) => cons.to_py_wrapper(py), - Self::Expression(cons) => cons.to_py_wrapper(py), - Self::FunctionType(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_Module", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModModule(pub &'static ast::ModModule); - -impl From<&'static ast::ModModule> for ModModule { - fn from(node: &'static ast::ModModule) -> Self { - ModModule(node) - } -} - -impl ToPyObject for ModModule { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModModule { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModModule(self).to_object(py)) - } -} - -#[pymethods] -impl ModModule { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_ignores(&self, py: Python) -> PyResult { - self.0.type_ignores.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Interactive", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModInteractive(pub &'static ast::ModInteractive); - -impl From<&'static ast::ModInteractive> for ModInteractive { - fn from(node: &'static ast::ModInteractive) -> Self { - ModInteractive(node) - } -} - -impl ToPyObject for ModInteractive { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModInteractive { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModInteractive(self).to_object(py)) - } -} - -#[pymethods] -impl ModInteractive { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Expression", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModExpression(pub &'static ast::ModExpression); - -impl From<&'static ast::ModExpression> for ModExpression { - fn from(node: &'static ast::ModExpression) -> Self { - ModExpression(node) - } -} - -impl ToPyObject for ModExpression { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModExpression { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModExpression(self).to_object(py)) - } -} - -#[pymethods] -impl ModExpression { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_FunctionType", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModFunctionType(pub &'static ast::ModFunctionType); - -impl From<&'static ast::ModFunctionType> for ModFunctionType { - fn from(node: &'static ast::ModFunctionType) -> Self { - ModFunctionType(node) - } -} - -impl ToPyObject for ModFunctionType { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModFunctionType { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModFunctionType(self).to_object(py)) - } -} - -#[pymethods] -impl ModFunctionType { - #[getter] - #[inline] - fn get_argtypes(&self, py: Python) -> PyResult { - self.0.argtypes.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_stmt", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Stmt; - -impl From<&'static ast::Stmt> for Stmt { - fn from(_node: &'static ast::Stmt) -> Self { - Stmt - } -} - -#[pymethods] -impl Stmt { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Stmt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Stmt { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::FunctionDef(cons) => cons.to_py_wrapper(py), - Self::AsyncFunctionDef(cons) => cons.to_py_wrapper(py), - Self::ClassDef(cons) => cons.to_py_wrapper(py), - Self::Return(cons) => cons.to_py_wrapper(py), - Self::Delete(cons) => cons.to_py_wrapper(py), - Self::Assign(cons) => cons.to_py_wrapper(py), - Self::AugAssign(cons) => cons.to_py_wrapper(py), - Self::AnnAssign(cons) => cons.to_py_wrapper(py), - Self::For(cons) => cons.to_py_wrapper(py), - Self::AsyncFor(cons) => cons.to_py_wrapper(py), - Self::While(cons) => cons.to_py_wrapper(py), - Self::If(cons) => cons.to_py_wrapper(py), - Self::With(cons) => cons.to_py_wrapper(py), - Self::AsyncWith(cons) => cons.to_py_wrapper(py), - Self::Match(cons) => cons.to_py_wrapper(py), - Self::Raise(cons) => cons.to_py_wrapper(py), - Self::Try(cons) => cons.to_py_wrapper(py), - Self::TryStar(cons) => cons.to_py_wrapper(py), - Self::Assert(cons) => cons.to_py_wrapper(py), - Self::Import(cons) => cons.to_py_wrapper(py), - Self::ImportFrom(cons) => cons.to_py_wrapper(py), - Self::Global(cons) => cons.to_py_wrapper(py), - Self::Nonlocal(cons) => cons.to_py_wrapper(py), - Self::Expr(cons) => cons.to_py_wrapper(py), - Self::Pass(cons) => cons.to_py_wrapper(py), - Self::Break(cons) => cons.to_py_wrapper(py), - Self::Continue(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_FunctionDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtFunctionDef(pub &'static ast::StmtFunctionDef); - -impl From<&'static ast::StmtFunctionDef> for StmtFunctionDef { - fn from(node: &'static ast::StmtFunctionDef) -> Self { - StmtFunctionDef(node) - } -} - -impl ToPyObject for StmtFunctionDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtFunctionDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtFunctionDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtFunctionDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_AsyncFunctionDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncFunctionDef(pub &'static ast::StmtAsyncFunctionDef); - -impl From<&'static ast::StmtAsyncFunctionDef> for StmtAsyncFunctionDef { - fn from(node: &'static ast::StmtAsyncFunctionDef) -> Self { - StmtAsyncFunctionDef(node) - } -} - -impl ToPyObject for StmtAsyncFunctionDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncFunctionDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncFunctionDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncFunctionDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_ClassDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtClassDef(pub &'static ast::StmtClassDef); - -impl From<&'static ast::StmtClassDef> for StmtClassDef { - fn from(node: &'static ast::StmtClassDef) -> Self { - StmtClassDef(node) - } -} - -impl ToPyObject for StmtClassDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtClassDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtClassDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtClassDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_bases(&self, py: Python) -> PyResult { - self.0.bases.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_keywords(&self, py: Python) -> PyResult { - self.0.keywords.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Return", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtReturn(pub &'static ast::StmtReturn); - -impl From<&'static ast::StmtReturn> for StmtReturn { - fn from(node: &'static ast::StmtReturn) -> Self { - StmtReturn(node) - } -} - -impl ToPyObject for StmtReturn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtReturn { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtReturn(self).to_object(py)) - } -} - -#[pymethods] -impl StmtReturn { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Delete", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtDelete(pub &'static ast::StmtDelete); - -impl From<&'static ast::StmtDelete> for StmtDelete { - fn from(node: &'static ast::StmtDelete) -> Self { - StmtDelete(node) - } -} - -impl ToPyObject for StmtDelete { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtDelete { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtDelete(self).to_object(py)) - } -} - -#[pymethods] -impl StmtDelete { - #[getter] - #[inline] - fn get_targets(&self, py: Python) -> PyResult { - self.0.targets.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Assign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAssign(pub &'static ast::StmtAssign); - -impl From<&'static ast::StmtAssign> for StmtAssign { - fn from(node: &'static ast::StmtAssign) -> Self { - StmtAssign(node) - } -} - -impl ToPyObject for StmtAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAssign { - #[getter] - #[inline] - fn get_targets(&self, py: Python) -> PyResult { - self.0.targets.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_AugAssign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAugAssign(pub &'static ast::StmtAugAssign); - -impl From<&'static ast::StmtAugAssign> for StmtAugAssign { - fn from(node: &'static ast::StmtAugAssign) -> Self { - StmtAugAssign(node) - } -} - -impl ToPyObject for StmtAugAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAugAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAugAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAugAssign { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_AnnAssign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAnnAssign(pub &'static ast::StmtAnnAssign); - -impl From<&'static ast::StmtAnnAssign> for StmtAnnAssign { - fn from(node: &'static ast::StmtAnnAssign) -> Self { - StmtAnnAssign(node) - } -} - -impl ToPyObject for StmtAnnAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAnnAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAnnAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAnnAssign { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_annotation(&self, py: Python) -> PyResult { - self.0.annotation.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_simple(&self, py: Python) -> PyResult { - self.0.simple.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_For", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtFor(pub &'static ast::StmtFor); - -impl From<&'static ast::StmtFor> for StmtFor { - fn from(node: &'static ast::StmtFor) -> Self { - StmtFor(node) - } -} - -impl ToPyObject for StmtFor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtFor { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtFor(self).to_object(py)) - } -} - -#[pymethods] -impl StmtFor { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_AsyncFor", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncFor(pub &'static ast::StmtAsyncFor); - -impl From<&'static ast::StmtAsyncFor> for StmtAsyncFor { - fn from(node: &'static ast::StmtAsyncFor) -> Self { - StmtAsyncFor(node) - } -} - -impl ToPyObject for StmtAsyncFor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncFor { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncFor(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncFor { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_While", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtWhile(pub &'static ast::StmtWhile); - -impl From<&'static ast::StmtWhile> for StmtWhile { - fn from(node: &'static ast::StmtWhile) -> Self { - StmtWhile(node) - } -} - -impl ToPyObject for StmtWhile { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtWhile { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtWhile(self).to_object(py)) - } -} - -#[pymethods] -impl StmtWhile { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_If", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtIf(pub &'static ast::StmtIf); - -impl From<&'static ast::StmtIf> for StmtIf { - fn from(node: &'static ast::StmtIf) -> Self { - StmtIf(node) - } -} - -impl ToPyObject for StmtIf { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtIf { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtIf(self).to_object(py)) - } -} - -#[pymethods] -impl StmtIf { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_With", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtWith(pub &'static ast::StmtWith); - -impl From<&'static ast::StmtWith> for StmtWith { - fn from(node: &'static ast::StmtWith) -> Self { - StmtWith(node) - } -} - -impl ToPyObject for StmtWith { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtWith { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtWith(self).to_object(py)) - } -} - -#[pymethods] -impl StmtWith { - #[getter] - #[inline] - fn get_items(&self, py: Python) -> PyResult { - self.0.items.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_AsyncWith", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncWith(pub &'static ast::StmtAsyncWith); - -impl From<&'static ast::StmtAsyncWith> for StmtAsyncWith { - fn from(node: &'static ast::StmtAsyncWith) -> Self { - StmtAsyncWith(node) - } -} - -impl ToPyObject for StmtAsyncWith { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncWith { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncWith(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncWith { - #[getter] - #[inline] - fn get_items(&self, py: Python) -> PyResult { - self.0.items.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Match", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtMatch(pub &'static ast::StmtMatch); - -impl From<&'static ast::StmtMatch> for StmtMatch { - fn from(node: &'static ast::StmtMatch) -> Self { - StmtMatch(node) - } -} - -impl ToPyObject for StmtMatch { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtMatch { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtMatch(self).to_object(py)) - } -} - -#[pymethods] -impl StmtMatch { - #[getter] - #[inline] - fn get_subject(&self, py: Python) -> PyResult { - self.0.subject.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_cases(&self, py: Python) -> PyResult { - self.0.cases.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Raise", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtRaise(pub &'static ast::StmtRaise); - -impl From<&'static ast::StmtRaise> for StmtRaise { - fn from(node: &'static ast::StmtRaise) -> Self { - StmtRaise(node) - } -} - -impl ToPyObject for StmtRaise { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtRaise { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtRaise(self).to_object(py)) - } -} - -#[pymethods] -impl StmtRaise { - #[getter] - #[inline] - fn get_exc(&self, py: Python) -> PyResult { - self.0.exc.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_cause(&self, py: Python) -> PyResult { - self.0.cause.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Try", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtTry(pub &'static ast::StmtTry); - -impl From<&'static ast::StmtTry> for StmtTry { - fn from(node: &'static ast::StmtTry) -> Self { - StmtTry(node) - } -} - -impl ToPyObject for StmtTry { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtTry { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtTry(self).to_object(py)) - } -} - -#[pymethods] -impl StmtTry { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_handlers(&self, py: Python) -> PyResult { - self.0.handlers.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_finalbody(&self, py: Python) -> PyResult { - self.0.finalbody.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_TryStar", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtTryStar(pub &'static ast::StmtTryStar); - -impl From<&'static ast::StmtTryStar> for StmtTryStar { - fn from(node: &'static ast::StmtTryStar) -> Self { - StmtTryStar(node) - } -} - -impl ToPyObject for StmtTryStar { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtTryStar { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtTryStar(self).to_object(py)) - } -} - -#[pymethods] -impl StmtTryStar { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_handlers(&self, py: Python) -> PyResult { - self.0.handlers.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_finalbody(&self, py: Python) -> PyResult { - self.0.finalbody.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Assert", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAssert(pub &'static ast::StmtAssert); - -impl From<&'static ast::StmtAssert> for StmtAssert { - fn from(node: &'static ast::StmtAssert) -> Self { - StmtAssert(node) - } -} - -impl ToPyObject for StmtAssert { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAssert { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAssert(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAssert { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_msg(&self, py: Python) -> PyResult { - self.0.msg.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Import", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtImport(pub &'static ast::StmtImport); - -impl From<&'static ast::StmtImport> for StmtImport { - fn from(node: &'static ast::StmtImport) -> Self { - StmtImport(node) - } -} - -impl ToPyObject for StmtImport { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtImport { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtImport(self).to_object(py)) - } -} - -#[pymethods] -impl StmtImport { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_ImportFrom", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtImportFrom(pub &'static ast::StmtImportFrom); - -impl From<&'static ast::StmtImportFrom> for StmtImportFrom { - fn from(node: &'static ast::StmtImportFrom) -> Self { - StmtImportFrom(node) - } -} - -impl ToPyObject for StmtImportFrom { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtImportFrom { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtImportFrom(self).to_object(py)) - } -} - -#[pymethods] -impl StmtImportFrom { - #[getter] - #[inline] - fn get_module(&self, py: Python) -> PyResult { - self.0.module.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_level(&self, py: Python) -> PyResult { - self.0.level.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Global", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtGlobal(pub &'static ast::StmtGlobal); - -impl From<&'static ast::StmtGlobal> for StmtGlobal { - fn from(node: &'static ast::StmtGlobal) -> Self { - StmtGlobal(node) - } -} - -impl ToPyObject for StmtGlobal { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtGlobal { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtGlobal(self).to_object(py)) - } -} - -#[pymethods] -impl StmtGlobal { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Nonlocal", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtNonlocal(pub &'static ast::StmtNonlocal); - -impl From<&'static ast::StmtNonlocal> for StmtNonlocal { - fn from(node: &'static ast::StmtNonlocal) -> Self { - StmtNonlocal(node) - } -} - -impl ToPyObject for StmtNonlocal { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtNonlocal { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtNonlocal(self).to_object(py)) - } -} - -#[pymethods] -impl StmtNonlocal { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Expr", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtExpr(pub &'static ast::StmtExpr); - -impl From<&'static ast::StmtExpr> for StmtExpr { - fn from(node: &'static ast::StmtExpr) -> Self { - StmtExpr(node) - } -} - -impl ToPyObject for StmtExpr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtExpr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtExpr(self).to_object(py)) - } -} - -#[pymethods] -impl StmtExpr { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Pass", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtPass(pub &'static ast::StmtPass); - -impl From<&'static ast::StmtPass> for StmtPass { - fn from(node: &'static ast::StmtPass) -> Self { - StmtPass(node) - } -} - -impl ToPyObject for StmtPass { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtPass { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtPass(self).to_object(py)) - } -} - -#[pymethods] -impl StmtPass {} - -#[pyclass(module="rustpython_ast.located", name="_Break", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtBreak(pub &'static ast::StmtBreak); - -impl From<&'static ast::StmtBreak> for StmtBreak { - fn from(node: &'static ast::StmtBreak) -> Self { - StmtBreak(node) - } -} - -impl ToPyObject for StmtBreak { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtBreak { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtBreak(self).to_object(py)) - } -} - -#[pymethods] -impl StmtBreak {} - -#[pyclass(module="rustpython_ast.located", name="_Continue", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtContinue(pub &'static ast::StmtContinue); - -impl From<&'static ast::StmtContinue> for StmtContinue { - fn from(node: &'static ast::StmtContinue) -> Self { - StmtContinue(node) - } -} - -impl ToPyObject for StmtContinue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtContinue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtContinue(self).to_object(py)) - } -} - -#[pymethods] -impl StmtContinue {} - -#[pyclass(module="rustpython_ast.located", name="_expr", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Expr; - -impl From<&'static ast::Expr> for Expr { - fn from(_node: &'static ast::Expr) -> Self { - Expr - } -} - -#[pymethods] -impl Expr { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Expr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Expr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::BoolOp(cons) => cons.to_py_wrapper(py), - Self::NamedExpr(cons) => cons.to_py_wrapper(py), - Self::BinOp(cons) => cons.to_py_wrapper(py), - Self::UnaryOp(cons) => cons.to_py_wrapper(py), - Self::Lambda(cons) => cons.to_py_wrapper(py), - Self::IfExp(cons) => cons.to_py_wrapper(py), - Self::Dict(cons) => cons.to_py_wrapper(py), - Self::Set(cons) => cons.to_py_wrapper(py), - Self::ListComp(cons) => cons.to_py_wrapper(py), - Self::SetComp(cons) => cons.to_py_wrapper(py), - Self::DictComp(cons) => cons.to_py_wrapper(py), - Self::GeneratorExp(cons) => cons.to_py_wrapper(py), - Self::Await(cons) => cons.to_py_wrapper(py), - Self::Yield(cons) => cons.to_py_wrapper(py), - Self::YieldFrom(cons) => cons.to_py_wrapper(py), - Self::Compare(cons) => cons.to_py_wrapper(py), - Self::Call(cons) => cons.to_py_wrapper(py), - Self::FormattedValue(cons) => cons.to_py_wrapper(py), - Self::JoinedStr(cons) => cons.to_py_wrapper(py), - Self::Constant(cons) => cons.to_py_wrapper(py), - Self::Attribute(cons) => cons.to_py_wrapper(py), - Self::Subscript(cons) => cons.to_py_wrapper(py), - Self::Starred(cons) => cons.to_py_wrapper(py), - Self::Name(cons) => cons.to_py_wrapper(py), - Self::List(cons) => cons.to_py_wrapper(py), - Self::Tuple(cons) => cons.to_py_wrapper(py), - Self::Slice(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_BoolOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprBoolOp(pub &'static ast::ExprBoolOp); - -impl From<&'static ast::ExprBoolOp> for ExprBoolOp { - fn from(node: &'static ast::ExprBoolOp) -> Self { - ExprBoolOp(node) - } -} - -impl ToPyObject for ExprBoolOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprBoolOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprBoolOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprBoolOp { - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_NamedExpr", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprNamedExpr(pub &'static ast::ExprNamedExpr); - -impl From<&'static ast::ExprNamedExpr> for ExprNamedExpr { - fn from(node: &'static ast::ExprNamedExpr) -> Self { - ExprNamedExpr(node) - } -} - -impl ToPyObject for ExprNamedExpr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprNamedExpr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprNamedExpr(self).to_object(py)) - } -} - -#[pymethods] -impl ExprNamedExpr { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_BinOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprBinOp(pub &'static ast::ExprBinOp); - -impl From<&'static ast::ExprBinOp> for ExprBinOp { - fn from(node: &'static ast::ExprBinOp) -> Self { - ExprBinOp(node) - } -} - -impl ToPyObject for ExprBinOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprBinOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprBinOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprBinOp { - #[getter] - #[inline] - fn get_left(&self, py: Python) -> PyResult { - self.0.left.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_right(&self, py: Python) -> PyResult { - self.0.right.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_UnaryOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprUnaryOp(pub &'static ast::ExprUnaryOp); - -impl From<&'static ast::ExprUnaryOp> for ExprUnaryOp { - fn from(node: &'static ast::ExprUnaryOp) -> Self { - ExprUnaryOp(node) - } -} - -impl ToPyObject for ExprUnaryOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprUnaryOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprUnaryOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprUnaryOp { - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_operand(&self, py: Python) -> PyResult { - self.0.operand.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Lambda", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprLambda(pub &'static ast::ExprLambda); - -impl From<&'static ast::ExprLambda> for ExprLambda { - fn from(node: &'static ast::ExprLambda) -> Self { - ExprLambda(node) - } -} - -impl ToPyObject for ExprLambda { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprLambda { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprLambda(self).to_object(py)) - } -} - -#[pymethods] -impl ExprLambda { - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_IfExp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprIfExp(pub &'static ast::ExprIfExp); - -impl From<&'static ast::ExprIfExp> for ExprIfExp { - fn from(node: &'static ast::ExprIfExp) -> Self { - ExprIfExp(node) - } -} - -impl ToPyObject for ExprIfExp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprIfExp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprIfExp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprIfExp { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Dict", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprDict(pub &'static ast::ExprDict); - -impl From<&'static ast::ExprDict> for ExprDict { - fn from(node: &'static ast::ExprDict) -> Self { - ExprDict(node) - } -} - -impl ToPyObject for ExprDict { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprDict { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprDict(self).to_object(py)) - } -} - -#[pymethods] -impl ExprDict { - #[getter] - #[inline] - fn get_keys(&self, py: Python) -> PyResult { - self.0.keys.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Set", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSet(pub &'static ast::ExprSet); - -impl From<&'static ast::ExprSet> for ExprSet { - fn from(node: &'static ast::ExprSet) -> Self { - ExprSet(node) - } -} - -impl ToPyObject for ExprSet { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSet { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSet(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSet { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_ListComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprListComp(pub &'static ast::ExprListComp); - -impl From<&'static ast::ExprListComp> for ExprListComp { - fn from(node: &'static ast::ExprListComp) -> Self { - ExprListComp(node) - } -} - -impl ToPyObject for ExprListComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprListComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprListComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprListComp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_SetComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSetComp(pub &'static ast::ExprSetComp); - -impl From<&'static ast::ExprSetComp> for ExprSetComp { - fn from(node: &'static ast::ExprSetComp) -> Self { - ExprSetComp(node) - } -} - -impl ToPyObject for ExprSetComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSetComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSetComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSetComp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_DictComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprDictComp(pub &'static ast::ExprDictComp); - -impl From<&'static ast::ExprDictComp> for ExprDictComp { - fn from(node: &'static ast::ExprDictComp) -> Self { - ExprDictComp(node) - } -} - -impl ToPyObject for ExprDictComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprDictComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprDictComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprDictComp { - #[getter] - #[inline] - fn get_key(&self, py: Python) -> PyResult { - self.0.key.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_GeneratorExp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprGeneratorExp(pub &'static ast::ExprGeneratorExp); - -impl From<&'static ast::ExprGeneratorExp> for ExprGeneratorExp { - fn from(node: &'static ast::ExprGeneratorExp) -> Self { - ExprGeneratorExp(node) - } -} - -impl ToPyObject for ExprGeneratorExp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprGeneratorExp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprGeneratorExp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprGeneratorExp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Await", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprAwait(pub &'static ast::ExprAwait); - -impl From<&'static ast::ExprAwait> for ExprAwait { - fn from(node: &'static ast::ExprAwait) -> Self { - ExprAwait(node) - } -} - -impl ToPyObject for ExprAwait { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprAwait { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprAwait(self).to_object(py)) - } -} - -#[pymethods] -impl ExprAwait { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Yield", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprYield(pub &'static ast::ExprYield); - -impl From<&'static ast::ExprYield> for ExprYield { - fn from(node: &'static ast::ExprYield) -> Self { - ExprYield(node) - } -} - -impl ToPyObject for ExprYield { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprYield { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprYield(self).to_object(py)) - } -} - -#[pymethods] -impl ExprYield { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_YieldFrom", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprYieldFrom(pub &'static ast::ExprYieldFrom); - -impl From<&'static ast::ExprYieldFrom> for ExprYieldFrom { - fn from(node: &'static ast::ExprYieldFrom) -> Self { - ExprYieldFrom(node) - } -} - -impl ToPyObject for ExprYieldFrom { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprYieldFrom { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprYieldFrom(self).to_object(py)) - } -} - -#[pymethods] -impl ExprYieldFrom { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Compare", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprCompare(pub &'static ast::ExprCompare); - -impl From<&'static ast::ExprCompare> for ExprCompare { - fn from(node: &'static ast::ExprCompare) -> Self { - ExprCompare(node) - } -} - -impl ToPyObject for ExprCompare { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprCompare { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprCompare(self).to_object(py)) - } -} - -#[pymethods] -impl ExprCompare { - #[getter] - #[inline] - fn get_left(&self, py: Python) -> PyResult { - self.0.left.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ops(&self, py: Python) -> PyResult { - self.0.ops.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_comparators(&self, py: Python) -> PyResult { - self.0.comparators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Call", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprCall(pub &'static ast::ExprCall); - -impl From<&'static ast::ExprCall> for ExprCall { - fn from(node: &'static ast::ExprCall) -> Self { - ExprCall(node) - } -} - -impl ToPyObject for ExprCall { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprCall { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprCall(self).to_object(py)) - } -} - -#[pymethods] -impl ExprCall { - #[getter] - #[inline] - fn get_func(&self, py: Python) -> PyResult { - self.0.func.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_keywords(&self, py: Python) -> PyResult { - self.0.keywords.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_FormattedValue", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprFormattedValue(pub &'static ast::ExprFormattedValue); - -impl From<&'static ast::ExprFormattedValue> for ExprFormattedValue { - fn from(node: &'static ast::ExprFormattedValue) -> Self { - ExprFormattedValue(node) - } -} - -impl ToPyObject for ExprFormattedValue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprFormattedValue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprFormattedValue(self).to_object(py)) - } -} - -#[pymethods] -impl ExprFormattedValue { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_conversion(&self, py: Python) -> PyResult { - self.0.conversion.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_format_spec(&self, py: Python) -> PyResult { - self.0.format_spec.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_JoinedStr", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprJoinedStr(pub &'static ast::ExprJoinedStr); - -impl From<&'static ast::ExprJoinedStr> for ExprJoinedStr { - fn from(node: &'static ast::ExprJoinedStr) -> Self { - ExprJoinedStr(node) - } -} - -impl ToPyObject for ExprJoinedStr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprJoinedStr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprJoinedStr(self).to_object(py)) - } -} - -#[pymethods] -impl ExprJoinedStr { - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Constant", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprConstant(pub &'static ast::ExprConstant); - -impl From<&'static ast::ExprConstant> for ExprConstant { - fn from(node: &'static ast::ExprConstant) -> Self { - ExprConstant(node) - } -} - -impl ToPyObject for ExprConstant { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprConstant { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprConstant(self).to_object(py)) - } -} - -#[pymethods] -impl ExprConstant { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kind(&self, py: Python) -> PyResult { - self.0.kind.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Attribute", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprAttribute(pub &'static ast::ExprAttribute); - -impl From<&'static ast::ExprAttribute> for ExprAttribute { - fn from(node: &'static ast::ExprAttribute) -> Self { - ExprAttribute(node) - } -} - -impl ToPyObject for ExprAttribute { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprAttribute { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprAttribute(self).to_object(py)) - } -} - -#[pymethods] -impl ExprAttribute { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_attr(&self, py: Python) -> PyResult { - self.0.attr.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Subscript", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSubscript(pub &'static ast::ExprSubscript); - -impl From<&'static ast::ExprSubscript> for ExprSubscript { - fn from(node: &'static ast::ExprSubscript) -> Self { - ExprSubscript(node) - } -} - -impl ToPyObject for ExprSubscript { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSubscript { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSubscript(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSubscript { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_slice(&self, py: Python) -> PyResult { - self.0.slice.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Starred", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprStarred(pub &'static ast::ExprStarred); - -impl From<&'static ast::ExprStarred> for ExprStarred { - fn from(node: &'static ast::ExprStarred) -> Self { - ExprStarred(node) - } -} - -impl ToPyObject for ExprStarred { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprStarred { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprStarred(self).to_object(py)) - } -} - -#[pymethods] -impl ExprStarred { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Name", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprName(pub &'static ast::ExprName); - -impl From<&'static ast::ExprName> for ExprName { - fn from(node: &'static ast::ExprName) -> Self { - ExprName(node) - } -} - -impl ToPyObject for ExprName { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprName { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprName(self).to_object(py)) - } -} - -#[pymethods] -impl ExprName { - #[getter] - #[inline] - fn get_id(&self, py: Python) -> PyResult { - self.0.id.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_List", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprList(pub &'static ast::ExprList); - -impl From<&'static ast::ExprList> for ExprList { - fn from(node: &'static ast::ExprList) -> Self { - ExprList(node) - } -} - -impl ToPyObject for ExprList { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprList { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprList(self).to_object(py)) - } -} - -#[pymethods] -impl ExprList { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Tuple", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprTuple(pub &'static ast::ExprTuple); - -impl From<&'static ast::ExprTuple> for ExprTuple { - fn from(node: &'static ast::ExprTuple) -> Self { - ExprTuple(node) - } -} - -impl ToPyObject for ExprTuple { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprTuple { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprTuple(self).to_object(py)) - } -} - -#[pymethods] -impl ExprTuple { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Slice", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSlice(pub &'static ast::ExprSlice); - -impl From<&'static ast::ExprSlice> for ExprSlice { - fn from(node: &'static ast::ExprSlice) -> Self { - ExprSlice(node) - } -} - -impl ToPyObject for ExprSlice { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSlice { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSlice(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSlice { - #[getter] - #[inline] - fn get_lower(&self, py: Python) -> PyResult { - self.0.lower.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_upper(&self, py: Python) -> PyResult { - self.0.upper.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_step(&self, py: Python) -> PyResult { - self.0.step.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_expr_context", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct ExprContext; - -impl From<&'static ast::ExprContext> for ExprContext { - fn from(_node: &'static ast::ExprContext) -> Self { - ExprContext - } -} - -#[pymethods] -impl ExprContext { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for ExprContext { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Load", extends=ExprContext)] -pub struct ExprContextLoad; - -impl ToPyObject for ExprContextLoad { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Store", extends=ExprContext)] -pub struct ExprContextStore; - -impl ToPyObject for ExprContextStore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Del", extends=ExprContext)] -pub struct ExprContextDel; - -impl ToPyObject for ExprContextDel { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_boolop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct BoolOp; - -impl From<&'static ast::BoolOp> for BoolOp { - fn from(_node: &'static ast::BoolOp) -> Self { - BoolOp - } -} - -#[pymethods] -impl BoolOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for BoolOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_And", extends=BoolOp)] -pub struct BoolOpAnd; - -impl ToPyObject for BoolOpAnd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(BoolOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Or", extends=BoolOp)] -pub struct BoolOpOr; - -impl ToPyObject for BoolOpOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(BoolOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_operator", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Operator; - -impl From<&'static ast::Operator> for Operator { - fn from(_node: &'static ast::Operator) -> Self { - Operator - } -} - -#[pymethods] -impl Operator { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Operator { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Add", extends=Operator)] -pub struct OperatorAdd; - -impl ToPyObject for OperatorAdd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Sub", extends=Operator)] -pub struct OperatorSub; - -impl ToPyObject for OperatorSub { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Mult", extends=Operator)] -pub struct OperatorMult; - -impl ToPyObject for OperatorMult { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatMult", extends=Operator)] -pub struct OperatorMatMult; - -impl ToPyObject for OperatorMatMult { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Div", extends=Operator)] -pub struct OperatorDiv; - -impl ToPyObject for OperatorDiv { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Mod", extends=Operator)] -pub struct OperatorMod; - -impl ToPyObject for OperatorMod { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Pow", extends=Operator)] -pub struct OperatorPow; - -impl ToPyObject for OperatorPow { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_LShift", extends=Operator)] -pub struct OperatorLShift; - -impl ToPyObject for OperatorLShift { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_RShift", extends=Operator)] -pub struct OperatorRShift; - -impl ToPyObject for OperatorRShift { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_BitOr", extends=Operator)] -pub struct OperatorBitOr; - -impl ToPyObject for OperatorBitOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_BitXor", extends=Operator)] -pub struct OperatorBitXor; - -impl ToPyObject for OperatorBitXor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_BitAnd", extends=Operator)] -pub struct OperatorBitAnd; - -impl ToPyObject for OperatorBitAnd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_FloorDiv", extends=Operator)] -pub struct OperatorFloorDiv; - -impl ToPyObject for OperatorFloorDiv { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_unaryop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct UnaryOp; - -impl From<&'static ast::UnaryOp> for UnaryOp { - fn from(_node: &'static ast::UnaryOp) -> Self { - UnaryOp - } -} - -#[pymethods] -impl UnaryOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for UnaryOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Invert", extends=UnaryOp)] -pub struct UnaryOpInvert; - -impl ToPyObject for UnaryOpInvert { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Not", extends=UnaryOp)] -pub struct UnaryOpNot; - -impl ToPyObject for UnaryOpNot { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_UAdd", extends=UnaryOp)] -pub struct UnaryOpUAdd; - -impl ToPyObject for UnaryOpUAdd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_USub", extends=UnaryOp)] -pub struct UnaryOpUSub; - -impl ToPyObject for UnaryOpUSub { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_cmpop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct CmpOp; - -impl From<&'static ast::CmpOp> for CmpOp { - fn from(_node: &'static ast::CmpOp) -> Self { - CmpOp - } -} - -#[pymethods] -impl CmpOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for CmpOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Eq", extends=CmpOp)] -pub struct CmpOpEq; - -impl ToPyObject for CmpOpEq { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_NotEq", extends=CmpOp)] -pub struct CmpOpNotEq; - -impl ToPyObject for CmpOpNotEq { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Lt", extends=CmpOp)] -pub struct CmpOpLt; - -impl ToPyObject for CmpOpLt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_LtE", extends=CmpOp)] -pub struct CmpOpLtE; - -impl ToPyObject for CmpOpLtE { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Gt", extends=CmpOp)] -pub struct CmpOpGt; - -impl ToPyObject for CmpOpGt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_GtE", extends=CmpOp)] -pub struct CmpOpGtE; - -impl ToPyObject for CmpOpGtE { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_Is", extends=CmpOp)] -pub struct CmpOpIs; - -impl ToPyObject for CmpOpIs { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_IsNot", extends=CmpOp)] -pub struct CmpOpIsNot; - -impl ToPyObject for CmpOpIsNot { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_In", extends=CmpOp)] -pub struct CmpOpIn; - -impl ToPyObject for CmpOpIn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_NotIn", extends=CmpOp)] -pub struct CmpOpNotIn; - -impl ToPyObject for CmpOpNotIn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_comprehension", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Comprehension(pub &'static ast::Comprehension); - -impl From<&'static ast::Comprehension> for Comprehension { - fn from(node: &'static ast::Comprehension) -> Self { - Comprehension(node) - } -} - -impl ToPyObject for Comprehension { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Comprehension { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Comprehension(self).to_object(py)) - } -} - -#[pymethods] -impl Comprehension { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ifs(&self, py: Python) -> PyResult { - self.0.ifs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_is_async(&self, py: Python) -> PyResult { - self.0.is_async.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_excepthandler", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct ExceptHandler; - -impl From<&'static ast::ExceptHandler> for ExceptHandler { - fn from(_node: &'static ast::ExceptHandler) -> Self { - ExceptHandler - } -} - -#[pymethods] -impl ExceptHandler { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for ExceptHandler { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExceptHandler { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::ExceptHandler(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_ExceptHandler", extends=ExceptHandler, frozen)] -#[derive(Clone, Debug)] -pub struct ExceptHandlerExceptHandler(pub &'static ast::ExceptHandlerExceptHandler); - -impl From<&'static ast::ExceptHandlerExceptHandler> for ExceptHandlerExceptHandler { - fn from(node: &'static ast::ExceptHandlerExceptHandler) -> Self { - ExceptHandlerExceptHandler(node) - } -} - -impl ToPyObject for ExceptHandlerExceptHandler { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExceptHandler) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExceptHandlerExceptHandler { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExceptHandlerExceptHandler(self).to_object(py)) - } -} - -#[pymethods] -impl ExceptHandlerExceptHandler { - #[getter] - #[inline] - fn get_type(&self, py: Python) -> PyResult { - self.0.type_.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_arguments", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Arguments(pub &'static ast::PythonArguments); - -impl From<&'static ast::PythonArguments> for Arguments { - fn from(node: &'static ast::PythonArguments) -> Self { - Arguments(node) - } -} - -impl ToPyObject for Arguments { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PythonArguments { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Arguments(self).to_object(py)) - } -} - -#[pymethods] -impl Arguments { - #[getter] - #[inline] - fn get_posonlyargs(&self, py: Python) -> PyResult { - self.0.posonlyargs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_vararg(&self, py: Python) -> PyResult { - self.0.vararg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwonlyargs(&self, py: Python) -> PyResult { - self.0.kwonlyargs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kw_defaults(&self, py: Python) -> PyResult { - self.0.kw_defaults.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwarg(&self, py: Python) -> PyResult { - self.0.kwarg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_defaults(&self, py: Python) -> PyResult { - self.0.defaults.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_arg", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Arg(pub &'static ast::Arg); - -impl From<&'static ast::Arg> for Arg { - fn from(node: &'static ast::Arg) -> Self { - Arg(node) - } -} - -impl ToPyObject for Arg { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Arg { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Arg(self).to_object(py)) - } -} - -#[pymethods] -impl Arg { - #[getter] - #[inline] - fn get_arg(&self, py: Python) -> PyResult { - self.0.arg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_annotation(&self, py: Python) -> PyResult { - self.0.annotation.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_keyword", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Keyword(pub &'static ast::Keyword); - -impl From<&'static ast::Keyword> for Keyword { - fn from(node: &'static ast::Keyword) -> Self { - Keyword(node) - } -} - -impl ToPyObject for Keyword { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Keyword { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Keyword(self).to_object(py)) - } -} - -#[pymethods] -impl Keyword { - #[getter] - #[inline] - fn get_arg(&self, py: Python) -> PyResult { - self.0.arg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_alias", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Alias(pub &'static ast::Alias); - -impl From<&'static ast::Alias> for Alias { - fn from(node: &'static ast::Alias) -> Self { - Alias(node) - } -} - -impl ToPyObject for Alias { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Alias { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Alias(self).to_object(py)) - } -} - -#[pymethods] -impl Alias { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_asname(&self, py: Python) -> PyResult { - self.0.asname.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_withitem", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct WithItem(pub &'static ast::WithItem); - -impl From<&'static ast::WithItem> for WithItem { - fn from(node: &'static ast::WithItem) -> Self { - WithItem(node) - } -} - -impl ToPyObject for WithItem { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::WithItem { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(WithItem(self).to_object(py)) - } -} - -#[pymethods] -impl WithItem { - #[getter] - #[inline] - fn get_context_expr(&self, py: Python) -> PyResult { - self.0.context_expr.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_optional_vars(&self, py: Python) -> PyResult { - self.0.optional_vars.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_match_case", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct MatchCase(pub &'static ast::MatchCase); - -impl From<&'static ast::MatchCase> for MatchCase { - fn from(node: &'static ast::MatchCase) -> Self { - MatchCase(node) - } -} - -impl ToPyObject for MatchCase { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::MatchCase { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(MatchCase(self).to_object(py)) - } -} - -#[pymethods] -impl MatchCase { - #[getter] - #[inline] - fn get_pattern(&self, py: Python) -> PyResult { - self.0.pattern.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_guard(&self, py: Python) -> PyResult { - self.0.guard.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_pattern", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Pattern; - -impl From<&'static ast::Pattern> for Pattern { - fn from(_node: &'static ast::Pattern) -> Self { - Pattern - } -} - -#[pymethods] -impl Pattern { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Pattern { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Pattern { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::MatchValue(cons) => cons.to_py_wrapper(py), - Self::MatchSingleton(cons) => cons.to_py_wrapper(py), - Self::MatchSequence(cons) => cons.to_py_wrapper(py), - Self::MatchMapping(cons) => cons.to_py_wrapper(py), - Self::MatchClass(cons) => cons.to_py_wrapper(py), - Self::MatchStar(cons) => cons.to_py_wrapper(py), - Self::MatchAs(cons) => cons.to_py_wrapper(py), - Self::MatchOr(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchValue", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchValue(pub &'static ast::PatternMatchValue); - -impl From<&'static ast::PatternMatchValue> for PatternMatchValue { - fn from(node: &'static ast::PatternMatchValue) -> Self { - PatternMatchValue(node) - } -} - -impl ToPyObject for PatternMatchValue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchValue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchValue(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchValue { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchSingleton", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchSingleton(pub &'static ast::PatternMatchSingleton); - -impl From<&'static ast::PatternMatchSingleton> for PatternMatchSingleton { - fn from(node: &'static ast::PatternMatchSingleton) -> Self { - PatternMatchSingleton(node) - } -} - -impl ToPyObject for PatternMatchSingleton { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchSingleton { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchSingleton(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchSingleton { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchSequence", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchSequence(pub &'static ast::PatternMatchSequence); - -impl From<&'static ast::PatternMatchSequence> for PatternMatchSequence { - fn from(node: &'static ast::PatternMatchSequence) -> Self { - PatternMatchSequence(node) - } -} - -impl ToPyObject for PatternMatchSequence { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchSequence { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchSequence(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchSequence { - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchMapping", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchMapping(pub &'static ast::PatternMatchMapping); - -impl From<&'static ast::PatternMatchMapping> for PatternMatchMapping { - fn from(node: &'static ast::PatternMatchMapping) -> Self { - PatternMatchMapping(node) - } -} - -impl ToPyObject for PatternMatchMapping { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchMapping { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchMapping(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchMapping { - #[getter] - #[inline] - fn get_keys(&self, py: Python) -> PyResult { - self.0.keys.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_rest(&self, py: Python) -> PyResult { - self.0.rest.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchClass", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchClass(pub &'static ast::PatternMatchClass); - -impl From<&'static ast::PatternMatchClass> for PatternMatchClass { - fn from(node: &'static ast::PatternMatchClass) -> Self { - PatternMatchClass(node) - } -} - -impl ToPyObject for PatternMatchClass { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchClass { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchClass(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchClass { - #[getter] - #[inline] - fn get_cls(&self, py: Python) -> PyResult { - self.0.cls.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwd_attrs(&self, py: Python) -> PyResult { - self.0.kwd_attrs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwd_patterns(&self, py: Python) -> PyResult { - self.0.kwd_patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchStar", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchStar(pub &'static ast::PatternMatchStar); - -impl From<&'static ast::PatternMatchStar> for PatternMatchStar { - fn from(node: &'static ast::PatternMatchStar) -> Self { - PatternMatchStar(node) - } -} - -impl ToPyObject for PatternMatchStar { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchStar { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchStar(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchStar { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchAs", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchAs(pub &'static ast::PatternMatchAs); - -impl From<&'static ast::PatternMatchAs> for PatternMatchAs { - fn from(node: &'static ast::PatternMatchAs) -> Self { - PatternMatchAs(node) - } -} - -impl ToPyObject for PatternMatchAs { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchAs { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchAs(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchAs { - #[getter] - #[inline] - fn get_pattern(&self, py: Python) -> PyResult { - self.0.pattern.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_MatchOr", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchOr(pub &'static ast::PatternMatchOr); - -impl From<&'static ast::PatternMatchOr> for PatternMatchOr { - fn from(node: &'static ast::PatternMatchOr) -> Self { - PatternMatchOr(node) - } -} - -impl ToPyObject for PatternMatchOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchOr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchOr(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchOr { - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.located", name="_type_ignore", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct TypeIgnore; - -impl From<&'static ast::TypeIgnore> for TypeIgnore { - fn from(_node: &'static ast::TypeIgnore) -> Self { - TypeIgnore - } -} - -#[pymethods] -impl TypeIgnore { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for TypeIgnore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::TypeIgnore { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::TypeIgnore(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.located", name="_TypeIgnore", extends=TypeIgnore, frozen)] -#[derive(Clone, Debug)] -pub struct TypeIgnoreTypeIgnore(pub &'static ast::TypeIgnoreTypeIgnore); - -impl From<&'static ast::TypeIgnoreTypeIgnore> for TypeIgnoreTypeIgnore { - fn from(node: &'static ast::TypeIgnoreTypeIgnore) -> Self { - TypeIgnoreTypeIgnore(node) - } -} - -impl ToPyObject for TypeIgnoreTypeIgnore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(TypeIgnore) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::TypeIgnoreTypeIgnore { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(TypeIgnoreTypeIgnore(self).to_object(py)) - } -} - -#[pymethods] -impl TypeIgnoreTypeIgnore { - #[getter] - #[inline] - fn get_lineno(&self, py: Python) -> PyResult { - self.0.lineno.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_tag(&self, py: Python) -> PyResult { - self.0.tag.to_py_wrapper(py) - } -} - -impl ToPyWrapper for ast::ExprContext { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - match &self { - Self::Load => Ok(ExprContextLoad.to_object(py)), - Self::Store => Ok(ExprContextStore.to_object(py)), - Self::Del => Ok(ExprContextDel.to_object(py)), - } - } -} - -impl ToPyWrapper for ast::ExprContextLoad { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(ExprContextLoad.to_object(py)) - } -} - -impl ToPyWrapper for ast::ExprContextStore { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(ExprContextStore.to_object(py)) - } -} - -impl ToPyWrapper for ast::ExprContextDel { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(ExprContextDel.to_object(py)) - } -} - -impl ToPyWrapper for ast::BoolOp { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - match &self { - Self::And => Ok(BoolOpAnd.to_object(py)), - Self::Or => Ok(BoolOpOr.to_object(py)), - } - } -} - -impl ToPyWrapper for ast::BoolOpAnd { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(BoolOpAnd.to_object(py)) - } -} - -impl ToPyWrapper for ast::BoolOpOr { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(BoolOpOr.to_object(py)) - } -} - -impl ToPyWrapper for ast::Operator { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - match &self { - Self::Add => Ok(OperatorAdd.to_object(py)), - Self::Sub => Ok(OperatorSub.to_object(py)), - Self::Mult => Ok(OperatorMult.to_object(py)), - Self::MatMult => Ok(OperatorMatMult.to_object(py)), - Self::Div => Ok(OperatorDiv.to_object(py)), - Self::Mod => Ok(OperatorMod.to_object(py)), - Self::Pow => Ok(OperatorPow.to_object(py)), - Self::LShift => Ok(OperatorLShift.to_object(py)), - Self::RShift => Ok(OperatorRShift.to_object(py)), - Self::BitOr => Ok(OperatorBitOr.to_object(py)), - Self::BitXor => Ok(OperatorBitXor.to_object(py)), - Self::BitAnd => Ok(OperatorBitAnd.to_object(py)), - Self::FloorDiv => Ok(OperatorFloorDiv.to_object(py)), - } - } -} - -impl ToPyWrapper for ast::OperatorAdd { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorAdd.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorSub { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorSub.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorMult { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorMult.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorMatMult { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorMatMult.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorDiv { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorDiv.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorMod { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorMod.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorPow { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorPow.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorLShift { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorLShift.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorRShift { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorRShift.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorBitOr { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorBitOr.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorBitXor { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorBitXor.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorBitAnd { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorBitAnd.to_object(py)) - } -} - -impl ToPyWrapper for ast::OperatorFloorDiv { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(OperatorFloorDiv.to_object(py)) - } -} - -impl ToPyWrapper for ast::UnaryOp { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - match &self { - Self::Invert => Ok(UnaryOpInvert.to_object(py)), - Self::Not => Ok(UnaryOpNot.to_object(py)), - Self::UAdd => Ok(UnaryOpUAdd.to_object(py)), - Self::USub => Ok(UnaryOpUSub.to_object(py)), - } - } -} - -impl ToPyWrapper for ast::UnaryOpInvert { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(UnaryOpInvert.to_object(py)) - } -} - -impl ToPyWrapper for ast::UnaryOpNot { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(UnaryOpNot.to_object(py)) - } -} - -impl ToPyWrapper for ast::UnaryOpUAdd { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(UnaryOpUAdd.to_object(py)) - } -} - -impl ToPyWrapper for ast::UnaryOpUSub { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(UnaryOpUSub.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOp { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - match &self { - Self::Eq => Ok(CmpOpEq.to_object(py)), - Self::NotEq => Ok(CmpOpNotEq.to_object(py)), - Self::Lt => Ok(CmpOpLt.to_object(py)), - Self::LtE => Ok(CmpOpLtE.to_object(py)), - Self::Gt => Ok(CmpOpGt.to_object(py)), - Self::GtE => Ok(CmpOpGtE.to_object(py)), - Self::Is => Ok(CmpOpIs.to_object(py)), - Self::IsNot => Ok(CmpOpIsNot.to_object(py)), - Self::In => Ok(CmpOpIn.to_object(py)), - Self::NotIn => Ok(CmpOpNotIn.to_object(py)), - } - } -} - -impl ToPyWrapper for ast::CmpOpEq { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpEq.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpNotEq { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpNotEq.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpLt { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpLt.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpLtE { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpLtE.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpGt { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpGt.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpGtE { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpGtE.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpIs { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpIs.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpIsNot { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpIsNot.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpIn { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpIn.to_object(py)) - } -} - -impl ToPyWrapper for ast::CmpOpNotIn { - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> { - Ok(CmpOpNotIn.to_object(py)) - } -} - -pub fn add_to_module(py: Python, m: &PyModule) -> PyResult<()> { - super::init_module(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - Ok(()) -} diff --git a/ast-pyo3/src/gen/wrapper_ranged.rs b/ast-pyo3/src/gen/wrapper_ranged.rs deleted file mode 100644 index 8a405c2a..00000000 --- a/ast-pyo3/src/gen/wrapper_ranged.rs +++ /dev/null @@ -1,4117 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -#[pyclass(module="rustpython_ast.ranged", name="_mod", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Mod; - -impl From<&'static ast::Mod> for Mod { - fn from(_node: &'static ast::Mod) -> Self { - Mod - } -} - -#[pymethods] -impl Mod { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Mod { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Mod { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::Module(cons) => cons.to_py_wrapper(py), - Self::Interactive(cons) => cons.to_py_wrapper(py), - Self::Expression(cons) => cons.to_py_wrapper(py), - Self::FunctionType(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Module", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModModule(pub &'static ast::ModModule); - -impl From<&'static ast::ModModule> for ModModule { - fn from(node: &'static ast::ModModule) -> Self { - ModModule(node) - } -} - -impl ToPyObject for ModModule { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModModule { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModModule(self).to_object(py)) - } -} - -#[pymethods] -impl ModModule { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_ignores(&self, py: Python) -> PyResult { - self.0.type_ignores.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Interactive", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModInteractive(pub &'static ast::ModInteractive); - -impl From<&'static ast::ModInteractive> for ModInteractive { - fn from(node: &'static ast::ModInteractive) -> Self { - ModInteractive(node) - } -} - -impl ToPyObject for ModInteractive { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModInteractive { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModInteractive(self).to_object(py)) - } -} - -#[pymethods] -impl ModInteractive { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Expression", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModExpression(pub &'static ast::ModExpression); - -impl From<&'static ast::ModExpression> for ModExpression { - fn from(node: &'static ast::ModExpression) -> Self { - ModExpression(node) - } -} - -impl ToPyObject for ModExpression { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModExpression { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModExpression(self).to_object(py)) - } -} - -#[pymethods] -impl ModExpression { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_FunctionType", extends=Mod, frozen)] -#[derive(Clone, Debug)] -pub struct ModFunctionType(pub &'static ast::ModFunctionType); - -impl From<&'static ast::ModFunctionType> for ModFunctionType { - fn from(node: &'static ast::ModFunctionType) -> Self { - ModFunctionType(node) - } -} - -impl ToPyObject for ModFunctionType { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Mod) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ModFunctionType { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ModFunctionType(self).to_object(py)) - } -} - -#[pymethods] -impl ModFunctionType { - #[getter] - #[inline] - fn get_argtypes(&self, py: Python) -> PyResult { - self.0.argtypes.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_stmt", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Stmt; - -impl From<&'static ast::Stmt> for Stmt { - fn from(_node: &'static ast::Stmt) -> Self { - Stmt - } -} - -#[pymethods] -impl Stmt { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Stmt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Stmt { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::FunctionDef(cons) => cons.to_py_wrapper(py), - Self::AsyncFunctionDef(cons) => cons.to_py_wrapper(py), - Self::ClassDef(cons) => cons.to_py_wrapper(py), - Self::Return(cons) => cons.to_py_wrapper(py), - Self::Delete(cons) => cons.to_py_wrapper(py), - Self::Assign(cons) => cons.to_py_wrapper(py), - Self::AugAssign(cons) => cons.to_py_wrapper(py), - Self::AnnAssign(cons) => cons.to_py_wrapper(py), - Self::For(cons) => cons.to_py_wrapper(py), - Self::AsyncFor(cons) => cons.to_py_wrapper(py), - Self::While(cons) => cons.to_py_wrapper(py), - Self::If(cons) => cons.to_py_wrapper(py), - Self::With(cons) => cons.to_py_wrapper(py), - Self::AsyncWith(cons) => cons.to_py_wrapper(py), - Self::Match(cons) => cons.to_py_wrapper(py), - Self::Raise(cons) => cons.to_py_wrapper(py), - Self::Try(cons) => cons.to_py_wrapper(py), - Self::TryStar(cons) => cons.to_py_wrapper(py), - Self::Assert(cons) => cons.to_py_wrapper(py), - Self::Import(cons) => cons.to_py_wrapper(py), - Self::ImportFrom(cons) => cons.to_py_wrapper(py), - Self::Global(cons) => cons.to_py_wrapper(py), - Self::Nonlocal(cons) => cons.to_py_wrapper(py), - Self::Expr(cons) => cons.to_py_wrapper(py), - Self::Pass(cons) => cons.to_py_wrapper(py), - Self::Break(cons) => cons.to_py_wrapper(py), - Self::Continue(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_FunctionDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtFunctionDef(pub &'static ast::StmtFunctionDef); - -impl From<&'static ast::StmtFunctionDef> for StmtFunctionDef { - fn from(node: &'static ast::StmtFunctionDef) -> Self { - StmtFunctionDef(node) - } -} - -impl ToPyObject for StmtFunctionDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtFunctionDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtFunctionDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtFunctionDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_AsyncFunctionDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncFunctionDef(pub &'static ast::StmtAsyncFunctionDef); - -impl From<&'static ast::StmtAsyncFunctionDef> for StmtAsyncFunctionDef { - fn from(node: &'static ast::StmtAsyncFunctionDef) -> Self { - StmtAsyncFunctionDef(node) - } -} - -impl ToPyObject for StmtAsyncFunctionDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncFunctionDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncFunctionDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncFunctionDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_returns(&self, py: Python) -> PyResult { - self.0.returns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_ClassDef", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtClassDef(pub &'static ast::StmtClassDef); - -impl From<&'static ast::StmtClassDef> for StmtClassDef { - fn from(node: &'static ast::StmtClassDef) -> Self { - StmtClassDef(node) - } -} - -impl ToPyObject for StmtClassDef { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtClassDef { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtClassDef(self).to_object(py)) - } -} - -#[pymethods] -impl StmtClassDef { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_bases(&self, py: Python) -> PyResult { - self.0.bases.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_keywords(&self, py: Python) -> PyResult { - self.0.keywords.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_decorator_list(&self, py: Python) -> PyResult { - self.0.decorator_list.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Return", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtReturn(pub &'static ast::StmtReturn); - -impl From<&'static ast::StmtReturn> for StmtReturn { - fn from(node: &'static ast::StmtReturn) -> Self { - StmtReturn(node) - } -} - -impl ToPyObject for StmtReturn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtReturn { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtReturn(self).to_object(py)) - } -} - -#[pymethods] -impl StmtReturn { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Delete", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtDelete(pub &'static ast::StmtDelete); - -impl From<&'static ast::StmtDelete> for StmtDelete { - fn from(node: &'static ast::StmtDelete) -> Self { - StmtDelete(node) - } -} - -impl ToPyObject for StmtDelete { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtDelete { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtDelete(self).to_object(py)) - } -} - -#[pymethods] -impl StmtDelete { - #[getter] - #[inline] - fn get_targets(&self, py: Python) -> PyResult { - self.0.targets.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Assign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAssign(pub &'static ast::StmtAssign); - -impl From<&'static ast::StmtAssign> for StmtAssign { - fn from(node: &'static ast::StmtAssign) -> Self { - StmtAssign(node) - } -} - -impl ToPyObject for StmtAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAssign { - #[getter] - #[inline] - fn get_targets(&self, py: Python) -> PyResult { - self.0.targets.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_AugAssign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAugAssign(pub &'static ast::StmtAugAssign); - -impl From<&'static ast::StmtAugAssign> for StmtAugAssign { - fn from(node: &'static ast::StmtAugAssign) -> Self { - StmtAugAssign(node) - } -} - -impl ToPyObject for StmtAugAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAugAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAugAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAugAssign { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_AnnAssign", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAnnAssign(pub &'static ast::StmtAnnAssign); - -impl From<&'static ast::StmtAnnAssign> for StmtAnnAssign { - fn from(node: &'static ast::StmtAnnAssign) -> Self { - StmtAnnAssign(node) - } -} - -impl ToPyObject for StmtAnnAssign { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAnnAssign { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAnnAssign(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAnnAssign { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_annotation(&self, py: Python) -> PyResult { - self.0.annotation.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_simple(&self, py: Python) -> PyResult { - self.0.simple.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_For", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtFor(pub &'static ast::StmtFor); - -impl From<&'static ast::StmtFor> for StmtFor { - fn from(node: &'static ast::StmtFor) -> Self { - StmtFor(node) - } -} - -impl ToPyObject for StmtFor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtFor { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtFor(self).to_object(py)) - } -} - -#[pymethods] -impl StmtFor { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_AsyncFor", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncFor(pub &'static ast::StmtAsyncFor); - -impl From<&'static ast::StmtAsyncFor> for StmtAsyncFor { - fn from(node: &'static ast::StmtAsyncFor) -> Self { - StmtAsyncFor(node) - } -} - -impl ToPyObject for StmtAsyncFor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncFor { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncFor(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncFor { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_While", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtWhile(pub &'static ast::StmtWhile); - -impl From<&'static ast::StmtWhile> for StmtWhile { - fn from(node: &'static ast::StmtWhile) -> Self { - StmtWhile(node) - } -} - -impl ToPyObject for StmtWhile { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtWhile { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtWhile(self).to_object(py)) - } -} - -#[pymethods] -impl StmtWhile { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_If", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtIf(pub &'static ast::StmtIf); - -impl From<&'static ast::StmtIf> for StmtIf { - fn from(node: &'static ast::StmtIf) -> Self { - StmtIf(node) - } -} - -impl ToPyObject for StmtIf { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtIf { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtIf(self).to_object(py)) - } -} - -#[pymethods] -impl StmtIf { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_With", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtWith(pub &'static ast::StmtWith); - -impl From<&'static ast::StmtWith> for StmtWith { - fn from(node: &'static ast::StmtWith) -> Self { - StmtWith(node) - } -} - -impl ToPyObject for StmtWith { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtWith { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtWith(self).to_object(py)) - } -} - -#[pymethods] -impl StmtWith { - #[getter] - #[inline] - fn get_items(&self, py: Python) -> PyResult { - self.0.items.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_AsyncWith", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAsyncWith(pub &'static ast::StmtAsyncWith); - -impl From<&'static ast::StmtAsyncWith> for StmtAsyncWith { - fn from(node: &'static ast::StmtAsyncWith) -> Self { - StmtAsyncWith(node) - } -} - -impl ToPyObject for StmtAsyncWith { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAsyncWith { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAsyncWith(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAsyncWith { - #[getter] - #[inline] - fn get_items(&self, py: Python) -> PyResult { - self.0.items.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Match", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtMatch(pub &'static ast::StmtMatch); - -impl From<&'static ast::StmtMatch> for StmtMatch { - fn from(node: &'static ast::StmtMatch) -> Self { - StmtMatch(node) - } -} - -impl ToPyObject for StmtMatch { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtMatch { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtMatch(self).to_object(py)) - } -} - -#[pymethods] -impl StmtMatch { - #[getter] - #[inline] - fn get_subject(&self, py: Python) -> PyResult { - self.0.subject.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_cases(&self, py: Python) -> PyResult { - self.0.cases.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Raise", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtRaise(pub &'static ast::StmtRaise); - -impl From<&'static ast::StmtRaise> for StmtRaise { - fn from(node: &'static ast::StmtRaise) -> Self { - StmtRaise(node) - } -} - -impl ToPyObject for StmtRaise { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtRaise { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtRaise(self).to_object(py)) - } -} - -#[pymethods] -impl StmtRaise { - #[getter] - #[inline] - fn get_exc(&self, py: Python) -> PyResult { - self.0.exc.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_cause(&self, py: Python) -> PyResult { - self.0.cause.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Try", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtTry(pub &'static ast::StmtTry); - -impl From<&'static ast::StmtTry> for StmtTry { - fn from(node: &'static ast::StmtTry) -> Self { - StmtTry(node) - } -} - -impl ToPyObject for StmtTry { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtTry { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtTry(self).to_object(py)) - } -} - -#[pymethods] -impl StmtTry { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_handlers(&self, py: Python) -> PyResult { - self.0.handlers.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_finalbody(&self, py: Python) -> PyResult { - self.0.finalbody.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_TryStar", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtTryStar(pub &'static ast::StmtTryStar); - -impl From<&'static ast::StmtTryStar> for StmtTryStar { - fn from(node: &'static ast::StmtTryStar) -> Self { - StmtTryStar(node) - } -} - -impl ToPyObject for StmtTryStar { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtTryStar { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtTryStar(self).to_object(py)) - } -} - -#[pymethods] -impl StmtTryStar { - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_handlers(&self, py: Python) -> PyResult { - self.0.handlers.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_finalbody(&self, py: Python) -> PyResult { - self.0.finalbody.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Assert", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtAssert(pub &'static ast::StmtAssert); - -impl From<&'static ast::StmtAssert> for StmtAssert { - fn from(node: &'static ast::StmtAssert) -> Self { - StmtAssert(node) - } -} - -impl ToPyObject for StmtAssert { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtAssert { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtAssert(self).to_object(py)) - } -} - -#[pymethods] -impl StmtAssert { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_msg(&self, py: Python) -> PyResult { - self.0.msg.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Import", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtImport(pub &'static ast::StmtImport); - -impl From<&'static ast::StmtImport> for StmtImport { - fn from(node: &'static ast::StmtImport) -> Self { - StmtImport(node) - } -} - -impl ToPyObject for StmtImport { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtImport { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtImport(self).to_object(py)) - } -} - -#[pymethods] -impl StmtImport { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_ImportFrom", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtImportFrom(pub &'static ast::StmtImportFrom); - -impl From<&'static ast::StmtImportFrom> for StmtImportFrom { - fn from(node: &'static ast::StmtImportFrom) -> Self { - StmtImportFrom(node) - } -} - -impl ToPyObject for StmtImportFrom { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtImportFrom { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtImportFrom(self).to_object(py)) - } -} - -#[pymethods] -impl StmtImportFrom { - #[getter] - #[inline] - fn get_module(&self, py: Python) -> PyResult { - self.0.module.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_level(&self, py: Python) -> PyResult { - self.0.level.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Global", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtGlobal(pub &'static ast::StmtGlobal); - -impl From<&'static ast::StmtGlobal> for StmtGlobal { - fn from(node: &'static ast::StmtGlobal) -> Self { - StmtGlobal(node) - } -} - -impl ToPyObject for StmtGlobal { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtGlobal { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtGlobal(self).to_object(py)) - } -} - -#[pymethods] -impl StmtGlobal { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Nonlocal", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtNonlocal(pub &'static ast::StmtNonlocal); - -impl From<&'static ast::StmtNonlocal> for StmtNonlocal { - fn from(node: &'static ast::StmtNonlocal) -> Self { - StmtNonlocal(node) - } -} - -impl ToPyObject for StmtNonlocal { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtNonlocal { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtNonlocal(self).to_object(py)) - } -} - -#[pymethods] -impl StmtNonlocal { - #[getter] - #[inline] - fn get_names(&self, py: Python) -> PyResult { - self.0.names.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Expr", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtExpr(pub &'static ast::StmtExpr); - -impl From<&'static ast::StmtExpr> for StmtExpr { - fn from(node: &'static ast::StmtExpr) -> Self { - StmtExpr(node) - } -} - -impl ToPyObject for StmtExpr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtExpr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtExpr(self).to_object(py)) - } -} - -#[pymethods] -impl StmtExpr { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Pass", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtPass(pub &'static ast::StmtPass); - -impl From<&'static ast::StmtPass> for StmtPass { - fn from(node: &'static ast::StmtPass) -> Self { - StmtPass(node) - } -} - -impl ToPyObject for StmtPass { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtPass { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtPass(self).to_object(py)) - } -} - -#[pymethods] -impl StmtPass {} - -#[pyclass(module="rustpython_ast.ranged", name="_Break", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtBreak(pub &'static ast::StmtBreak); - -impl From<&'static ast::StmtBreak> for StmtBreak { - fn from(node: &'static ast::StmtBreak) -> Self { - StmtBreak(node) - } -} - -impl ToPyObject for StmtBreak { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtBreak { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtBreak(self).to_object(py)) - } -} - -#[pymethods] -impl StmtBreak {} - -#[pyclass(module="rustpython_ast.ranged", name="_Continue", extends=Stmt, frozen)] -#[derive(Clone, Debug)] -pub struct StmtContinue(pub &'static ast::StmtContinue); - -impl From<&'static ast::StmtContinue> for StmtContinue { - fn from(node: &'static ast::StmtContinue) -> Self { - StmtContinue(node) - } -} - -impl ToPyObject for StmtContinue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Stmt) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::StmtContinue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(StmtContinue(self).to_object(py)) - } -} - -#[pymethods] -impl StmtContinue {} - -#[pyclass(module="rustpython_ast.ranged", name="_expr", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Expr; - -impl From<&'static ast::Expr> for Expr { - fn from(_node: &'static ast::Expr) -> Self { - Expr - } -} - -#[pymethods] -impl Expr { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Expr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Expr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::BoolOp(cons) => cons.to_py_wrapper(py), - Self::NamedExpr(cons) => cons.to_py_wrapper(py), - Self::BinOp(cons) => cons.to_py_wrapper(py), - Self::UnaryOp(cons) => cons.to_py_wrapper(py), - Self::Lambda(cons) => cons.to_py_wrapper(py), - Self::IfExp(cons) => cons.to_py_wrapper(py), - Self::Dict(cons) => cons.to_py_wrapper(py), - Self::Set(cons) => cons.to_py_wrapper(py), - Self::ListComp(cons) => cons.to_py_wrapper(py), - Self::SetComp(cons) => cons.to_py_wrapper(py), - Self::DictComp(cons) => cons.to_py_wrapper(py), - Self::GeneratorExp(cons) => cons.to_py_wrapper(py), - Self::Await(cons) => cons.to_py_wrapper(py), - Self::Yield(cons) => cons.to_py_wrapper(py), - Self::YieldFrom(cons) => cons.to_py_wrapper(py), - Self::Compare(cons) => cons.to_py_wrapper(py), - Self::Call(cons) => cons.to_py_wrapper(py), - Self::FormattedValue(cons) => cons.to_py_wrapper(py), - Self::JoinedStr(cons) => cons.to_py_wrapper(py), - Self::Constant(cons) => cons.to_py_wrapper(py), - Self::Attribute(cons) => cons.to_py_wrapper(py), - Self::Subscript(cons) => cons.to_py_wrapper(py), - Self::Starred(cons) => cons.to_py_wrapper(py), - Self::Name(cons) => cons.to_py_wrapper(py), - Self::List(cons) => cons.to_py_wrapper(py), - Self::Tuple(cons) => cons.to_py_wrapper(py), - Self::Slice(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_BoolOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprBoolOp(pub &'static ast::ExprBoolOp); - -impl From<&'static ast::ExprBoolOp> for ExprBoolOp { - fn from(node: &'static ast::ExprBoolOp) -> Self { - ExprBoolOp(node) - } -} - -impl ToPyObject for ExprBoolOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprBoolOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprBoolOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprBoolOp { - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_NamedExpr", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprNamedExpr(pub &'static ast::ExprNamedExpr); - -impl From<&'static ast::ExprNamedExpr> for ExprNamedExpr { - fn from(node: &'static ast::ExprNamedExpr) -> Self { - ExprNamedExpr(node) - } -} - -impl ToPyObject for ExprNamedExpr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprNamedExpr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprNamedExpr(self).to_object(py)) - } -} - -#[pymethods] -impl ExprNamedExpr { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_BinOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprBinOp(pub &'static ast::ExprBinOp); - -impl From<&'static ast::ExprBinOp> for ExprBinOp { - fn from(node: &'static ast::ExprBinOp) -> Self { - ExprBinOp(node) - } -} - -impl ToPyObject for ExprBinOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprBinOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprBinOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprBinOp { - #[getter] - #[inline] - fn get_left(&self, py: Python) -> PyResult { - self.0.left.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_right(&self, py: Python) -> PyResult { - self.0.right.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_UnaryOp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprUnaryOp(pub &'static ast::ExprUnaryOp); - -impl From<&'static ast::ExprUnaryOp> for ExprUnaryOp { - fn from(node: &'static ast::ExprUnaryOp) -> Self { - ExprUnaryOp(node) - } -} - -impl ToPyObject for ExprUnaryOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprUnaryOp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprUnaryOp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprUnaryOp { - #[getter] - #[inline] - fn get_op(&self, py: Python) -> PyResult { - self.0.op.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_operand(&self, py: Python) -> PyResult { - self.0.operand.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Lambda", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprLambda(pub &'static ast::ExprLambda); - -impl From<&'static ast::ExprLambda> for ExprLambda { - fn from(node: &'static ast::ExprLambda) -> Self { - ExprLambda(node) - } -} - -impl ToPyObject for ExprLambda { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprLambda { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprLambda(self).to_object(py)) - } -} - -#[pymethods] -impl ExprLambda { - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_IfExp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprIfExp(pub &'static ast::ExprIfExp); - -impl From<&'static ast::ExprIfExp> for ExprIfExp { - fn from(node: &'static ast::ExprIfExp) -> Self { - ExprIfExp(node) - } -} - -impl ToPyObject for ExprIfExp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprIfExp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprIfExp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprIfExp { - #[getter] - #[inline] - fn get_test(&self, py: Python) -> PyResult { - self.0.test.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_orelse(&self, py: Python) -> PyResult { - self.0.orelse.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Dict", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprDict(pub &'static ast::ExprDict); - -impl From<&'static ast::ExprDict> for ExprDict { - fn from(node: &'static ast::ExprDict) -> Self { - ExprDict(node) - } -} - -impl ToPyObject for ExprDict { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprDict { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprDict(self).to_object(py)) - } -} - -#[pymethods] -impl ExprDict { - #[getter] - #[inline] - fn get_keys(&self, py: Python) -> PyResult { - self.0.keys.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Set", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSet(pub &'static ast::ExprSet); - -impl From<&'static ast::ExprSet> for ExprSet { - fn from(node: &'static ast::ExprSet) -> Self { - ExprSet(node) - } -} - -impl ToPyObject for ExprSet { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSet { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSet(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSet { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_ListComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprListComp(pub &'static ast::ExprListComp); - -impl From<&'static ast::ExprListComp> for ExprListComp { - fn from(node: &'static ast::ExprListComp) -> Self { - ExprListComp(node) - } -} - -impl ToPyObject for ExprListComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprListComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprListComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprListComp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_SetComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSetComp(pub &'static ast::ExprSetComp); - -impl From<&'static ast::ExprSetComp> for ExprSetComp { - fn from(node: &'static ast::ExprSetComp) -> Self { - ExprSetComp(node) - } -} - -impl ToPyObject for ExprSetComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSetComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSetComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSetComp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_DictComp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprDictComp(pub &'static ast::ExprDictComp); - -impl From<&'static ast::ExprDictComp> for ExprDictComp { - fn from(node: &'static ast::ExprDictComp) -> Self { - ExprDictComp(node) - } -} - -impl ToPyObject for ExprDictComp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprDictComp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprDictComp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprDictComp { - #[getter] - #[inline] - fn get_key(&self, py: Python) -> PyResult { - self.0.key.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_GeneratorExp", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprGeneratorExp(pub &'static ast::ExprGeneratorExp); - -impl From<&'static ast::ExprGeneratorExp> for ExprGeneratorExp { - fn from(node: &'static ast::ExprGeneratorExp) -> Self { - ExprGeneratorExp(node) - } -} - -impl ToPyObject for ExprGeneratorExp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprGeneratorExp { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprGeneratorExp(self).to_object(py)) - } -} - -#[pymethods] -impl ExprGeneratorExp { - #[getter] - #[inline] - fn get_elt(&self, py: Python) -> PyResult { - self.0.elt.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_generators(&self, py: Python) -> PyResult { - self.0.generators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Await", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprAwait(pub &'static ast::ExprAwait); - -impl From<&'static ast::ExprAwait> for ExprAwait { - fn from(node: &'static ast::ExprAwait) -> Self { - ExprAwait(node) - } -} - -impl ToPyObject for ExprAwait { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprAwait { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprAwait(self).to_object(py)) - } -} - -#[pymethods] -impl ExprAwait { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Yield", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprYield(pub &'static ast::ExprYield); - -impl From<&'static ast::ExprYield> for ExprYield { - fn from(node: &'static ast::ExprYield) -> Self { - ExprYield(node) - } -} - -impl ToPyObject for ExprYield { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprYield { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprYield(self).to_object(py)) - } -} - -#[pymethods] -impl ExprYield { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_YieldFrom", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprYieldFrom(pub &'static ast::ExprYieldFrom); - -impl From<&'static ast::ExprYieldFrom> for ExprYieldFrom { - fn from(node: &'static ast::ExprYieldFrom) -> Self { - ExprYieldFrom(node) - } -} - -impl ToPyObject for ExprYieldFrom { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprYieldFrom { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprYieldFrom(self).to_object(py)) - } -} - -#[pymethods] -impl ExprYieldFrom { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Compare", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprCompare(pub &'static ast::ExprCompare); - -impl From<&'static ast::ExprCompare> for ExprCompare { - fn from(node: &'static ast::ExprCompare) -> Self { - ExprCompare(node) - } -} - -impl ToPyObject for ExprCompare { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprCompare { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprCompare(self).to_object(py)) - } -} - -#[pymethods] -impl ExprCompare { - #[getter] - #[inline] - fn get_left(&self, py: Python) -> PyResult { - self.0.left.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ops(&self, py: Python) -> PyResult { - self.0.ops.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_comparators(&self, py: Python) -> PyResult { - self.0.comparators.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Call", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprCall(pub &'static ast::ExprCall); - -impl From<&'static ast::ExprCall> for ExprCall { - fn from(node: &'static ast::ExprCall) -> Self { - ExprCall(node) - } -} - -impl ToPyObject for ExprCall { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprCall { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprCall(self).to_object(py)) - } -} - -#[pymethods] -impl ExprCall { - #[getter] - #[inline] - fn get_func(&self, py: Python) -> PyResult { - self.0.func.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_keywords(&self, py: Python) -> PyResult { - self.0.keywords.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_FormattedValue", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprFormattedValue(pub &'static ast::ExprFormattedValue); - -impl From<&'static ast::ExprFormattedValue> for ExprFormattedValue { - fn from(node: &'static ast::ExprFormattedValue) -> Self { - ExprFormattedValue(node) - } -} - -impl ToPyObject for ExprFormattedValue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprFormattedValue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprFormattedValue(self).to_object(py)) - } -} - -#[pymethods] -impl ExprFormattedValue { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_conversion(&self, py: Python) -> PyResult { - self.0.conversion.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_format_spec(&self, py: Python) -> PyResult { - self.0.format_spec.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_JoinedStr", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprJoinedStr(pub &'static ast::ExprJoinedStr); - -impl From<&'static ast::ExprJoinedStr> for ExprJoinedStr { - fn from(node: &'static ast::ExprJoinedStr) -> Self { - ExprJoinedStr(node) - } -} - -impl ToPyObject for ExprJoinedStr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprJoinedStr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprJoinedStr(self).to_object(py)) - } -} - -#[pymethods] -impl ExprJoinedStr { - #[getter] - #[inline] - fn get_values(&self, py: Python) -> PyResult { - self.0.values.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Constant", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprConstant(pub &'static ast::ExprConstant); - -impl From<&'static ast::ExprConstant> for ExprConstant { - fn from(node: &'static ast::ExprConstant) -> Self { - ExprConstant(node) - } -} - -impl ToPyObject for ExprConstant { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprConstant { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprConstant(self).to_object(py)) - } -} - -#[pymethods] -impl ExprConstant { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kind(&self, py: Python) -> PyResult { - self.0.kind.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Attribute", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprAttribute(pub &'static ast::ExprAttribute); - -impl From<&'static ast::ExprAttribute> for ExprAttribute { - fn from(node: &'static ast::ExprAttribute) -> Self { - ExprAttribute(node) - } -} - -impl ToPyObject for ExprAttribute { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprAttribute { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprAttribute(self).to_object(py)) - } -} - -#[pymethods] -impl ExprAttribute { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_attr(&self, py: Python) -> PyResult { - self.0.attr.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Subscript", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSubscript(pub &'static ast::ExprSubscript); - -impl From<&'static ast::ExprSubscript> for ExprSubscript { - fn from(node: &'static ast::ExprSubscript) -> Self { - ExprSubscript(node) - } -} - -impl ToPyObject for ExprSubscript { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSubscript { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSubscript(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSubscript { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_slice(&self, py: Python) -> PyResult { - self.0.slice.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Starred", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprStarred(pub &'static ast::ExprStarred); - -impl From<&'static ast::ExprStarred> for ExprStarred { - fn from(node: &'static ast::ExprStarred) -> Self { - ExprStarred(node) - } -} - -impl ToPyObject for ExprStarred { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprStarred { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprStarred(self).to_object(py)) - } -} - -#[pymethods] -impl ExprStarred { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Name", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprName(pub &'static ast::ExprName); - -impl From<&'static ast::ExprName> for ExprName { - fn from(node: &'static ast::ExprName) -> Self { - ExprName(node) - } -} - -impl ToPyObject for ExprName { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprName { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprName(self).to_object(py)) - } -} - -#[pymethods] -impl ExprName { - #[getter] - #[inline] - fn get_id(&self, py: Python) -> PyResult { - self.0.id.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_List", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprList(pub &'static ast::ExprList); - -impl From<&'static ast::ExprList> for ExprList { - fn from(node: &'static ast::ExprList) -> Self { - ExprList(node) - } -} - -impl ToPyObject for ExprList { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprList { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprList(self).to_object(py)) - } -} - -#[pymethods] -impl ExprList { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Tuple", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprTuple(pub &'static ast::ExprTuple); - -impl From<&'static ast::ExprTuple> for ExprTuple { - fn from(node: &'static ast::ExprTuple) -> Self { - ExprTuple(node) - } -} - -impl ToPyObject for ExprTuple { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprTuple { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprTuple(self).to_object(py)) - } -} - -#[pymethods] -impl ExprTuple { - #[getter] - #[inline] - fn get_elts(&self, py: Python) -> PyResult { - self.0.elts.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ctx(&self, py: Python) -> PyResult { - self.0.ctx.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Slice", extends=Expr, frozen)] -#[derive(Clone, Debug)] -pub struct ExprSlice(pub &'static ast::ExprSlice); - -impl From<&'static ast::ExprSlice> for ExprSlice { - fn from(node: &'static ast::ExprSlice) -> Self { - ExprSlice(node) - } -} - -impl ToPyObject for ExprSlice { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Expr) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExprSlice { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExprSlice(self).to_object(py)) - } -} - -#[pymethods] -impl ExprSlice { - #[getter] - #[inline] - fn get_lower(&self, py: Python) -> PyResult { - self.0.lower.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_upper(&self, py: Python) -> PyResult { - self.0.upper.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_step(&self, py: Python) -> PyResult { - self.0.step.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_expr_context", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct ExprContext; - -impl From<&'static ast::ExprContext> for ExprContext { - fn from(_node: &'static ast::ExprContext) -> Self { - ExprContext - } -} - -#[pymethods] -impl ExprContext { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for ExprContext { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Load", extends=ExprContext)] -pub struct ExprContextLoad; - -impl ToPyObject for ExprContextLoad { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Store", extends=ExprContext)] -pub struct ExprContextStore; - -impl ToPyObject for ExprContextStore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Del", extends=ExprContext)] -pub struct ExprContextDel; - -impl ToPyObject for ExprContextDel { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExprContext) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_boolop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct BoolOp; - -impl From<&'static ast::BoolOp> for BoolOp { - fn from(_node: &'static ast::BoolOp) -> Self { - BoolOp - } -} - -#[pymethods] -impl BoolOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for BoolOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_And", extends=BoolOp)] -pub struct BoolOpAnd; - -impl ToPyObject for BoolOpAnd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(BoolOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Or", extends=BoolOp)] -pub struct BoolOpOr; - -impl ToPyObject for BoolOpOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(BoolOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_operator", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Operator; - -impl From<&'static ast::Operator> for Operator { - fn from(_node: &'static ast::Operator) -> Self { - Operator - } -} - -#[pymethods] -impl Operator { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Operator { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Add", extends=Operator)] -pub struct OperatorAdd; - -impl ToPyObject for OperatorAdd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Sub", extends=Operator)] -pub struct OperatorSub; - -impl ToPyObject for OperatorSub { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Mult", extends=Operator)] -pub struct OperatorMult; - -impl ToPyObject for OperatorMult { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatMult", extends=Operator)] -pub struct OperatorMatMult; - -impl ToPyObject for OperatorMatMult { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Div", extends=Operator)] -pub struct OperatorDiv; - -impl ToPyObject for OperatorDiv { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Mod", extends=Operator)] -pub struct OperatorMod; - -impl ToPyObject for OperatorMod { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Pow", extends=Operator)] -pub struct OperatorPow; - -impl ToPyObject for OperatorPow { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_LShift", extends=Operator)] -pub struct OperatorLShift; - -impl ToPyObject for OperatorLShift { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_RShift", extends=Operator)] -pub struct OperatorRShift; - -impl ToPyObject for OperatorRShift { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_BitOr", extends=Operator)] -pub struct OperatorBitOr; - -impl ToPyObject for OperatorBitOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_BitXor", extends=Operator)] -pub struct OperatorBitXor; - -impl ToPyObject for OperatorBitXor { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_BitAnd", extends=Operator)] -pub struct OperatorBitAnd; - -impl ToPyObject for OperatorBitAnd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_FloorDiv", extends=Operator)] -pub struct OperatorFloorDiv; - -impl ToPyObject for OperatorFloorDiv { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Operator) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_unaryop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct UnaryOp; - -impl From<&'static ast::UnaryOp> for UnaryOp { - fn from(_node: &'static ast::UnaryOp) -> Self { - UnaryOp - } -} - -#[pymethods] -impl UnaryOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for UnaryOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Invert", extends=UnaryOp)] -pub struct UnaryOpInvert; - -impl ToPyObject for UnaryOpInvert { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Not", extends=UnaryOp)] -pub struct UnaryOpNot; - -impl ToPyObject for UnaryOpNot { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_UAdd", extends=UnaryOp)] -pub struct UnaryOpUAdd; - -impl ToPyObject for UnaryOpUAdd { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_USub", extends=UnaryOp)] -pub struct UnaryOpUSub; - -impl ToPyObject for UnaryOpUSub { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(UnaryOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_cmpop", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct CmpOp; - -impl From<&'static ast::CmpOp> for CmpOp { - fn from(_node: &'static ast::CmpOp) -> Self { - CmpOp - } -} - -#[pymethods] -impl CmpOp { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for CmpOp { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Eq", extends=CmpOp)] -pub struct CmpOpEq; - -impl ToPyObject for CmpOpEq { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_NotEq", extends=CmpOp)] -pub struct CmpOpNotEq; - -impl ToPyObject for CmpOpNotEq { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Lt", extends=CmpOp)] -pub struct CmpOpLt; - -impl ToPyObject for CmpOpLt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_LtE", extends=CmpOp)] -pub struct CmpOpLtE; - -impl ToPyObject for CmpOpLtE { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Gt", extends=CmpOp)] -pub struct CmpOpGt; - -impl ToPyObject for CmpOpGt { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_GtE", extends=CmpOp)] -pub struct CmpOpGtE; - -impl ToPyObject for CmpOpGtE { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_Is", extends=CmpOp)] -pub struct CmpOpIs; - -impl ToPyObject for CmpOpIs { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_IsNot", extends=CmpOp)] -pub struct CmpOpIsNot; - -impl ToPyObject for CmpOpIsNot { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_In", extends=CmpOp)] -pub struct CmpOpIn; - -impl ToPyObject for CmpOpIn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_NotIn", extends=CmpOp)] -pub struct CmpOpNotIn; - -impl ToPyObject for CmpOpNotIn { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(CmpOp) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_comprehension", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Comprehension(pub &'static ast::Comprehension); - -impl From<&'static ast::Comprehension> for Comprehension { - fn from(node: &'static ast::Comprehension) -> Self { - Comprehension(node) - } -} - -impl ToPyObject for Comprehension { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Comprehension { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Comprehension(self).to_object(py)) - } -} - -#[pymethods] -impl Comprehension { - #[getter] - #[inline] - fn get_target(&self, py: Python) -> PyResult { - self.0.target.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_iter(&self, py: Python) -> PyResult { - self.0.iter.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_ifs(&self, py: Python) -> PyResult { - self.0.ifs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_is_async(&self, py: Python) -> PyResult { - self.0.is_async.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_excepthandler", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct ExceptHandler; - -impl From<&'static ast::ExceptHandler> for ExceptHandler { - fn from(_node: &'static ast::ExceptHandler) -> Self { - ExceptHandler - } -} - -#[pymethods] -impl ExceptHandler { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for ExceptHandler { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExceptHandler { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::ExceptHandler(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_ExceptHandler", extends=ExceptHandler, frozen)] -#[derive(Clone, Debug)] -pub struct ExceptHandlerExceptHandler(pub &'static ast::ExceptHandlerExceptHandler); - -impl From<&'static ast::ExceptHandlerExceptHandler> for ExceptHandlerExceptHandler { - fn from(node: &'static ast::ExceptHandlerExceptHandler) -> Self { - ExceptHandlerExceptHandler(node) - } -} - -impl ToPyObject for ExceptHandlerExceptHandler { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(ExceptHandler) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::ExceptHandlerExceptHandler { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(ExceptHandlerExceptHandler(self).to_object(py)) - } -} - -#[pymethods] -impl ExceptHandlerExceptHandler { - #[getter] - #[inline] - fn get_type(&self, py: Python) -> PyResult { - self.0.type_.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_arguments", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Arguments(pub &'static ast::PythonArguments); - -impl From<&'static ast::PythonArguments> for Arguments { - fn from(node: &'static ast::PythonArguments) -> Self { - Arguments(node) - } -} - -impl ToPyObject for Arguments { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PythonArguments { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Arguments(self).to_object(py)) - } -} - -#[pymethods] -impl Arguments { - #[getter] - #[inline] - fn get_posonlyargs(&self, py: Python) -> PyResult { - self.0.posonlyargs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_args(&self, py: Python) -> PyResult { - self.0.args.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_vararg(&self, py: Python) -> PyResult { - self.0.vararg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwonlyargs(&self, py: Python) -> PyResult { - self.0.kwonlyargs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kw_defaults(&self, py: Python) -> PyResult { - self.0.kw_defaults.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwarg(&self, py: Python) -> PyResult { - self.0.kwarg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_defaults(&self, py: Python) -> PyResult { - self.0.defaults.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_arg", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Arg(pub &'static ast::Arg); - -impl From<&'static ast::Arg> for Arg { - fn from(node: &'static ast::Arg) -> Self { - Arg(node) - } -} - -impl ToPyObject for Arg { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Arg { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Arg(self).to_object(py)) - } -} - -#[pymethods] -impl Arg { - #[getter] - #[inline] - fn get_arg(&self, py: Python) -> PyResult { - self.0.arg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_annotation(&self, py: Python) -> PyResult { - self.0.annotation.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_type_comment(&self, py: Python) -> PyResult { - self.0.type_comment.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_keyword", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Keyword(pub &'static ast::Keyword); - -impl From<&'static ast::Keyword> for Keyword { - fn from(node: &'static ast::Keyword) -> Self { - Keyword(node) - } -} - -impl ToPyObject for Keyword { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Keyword { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Keyword(self).to_object(py)) - } -} - -#[pymethods] -impl Keyword { - #[getter] - #[inline] - fn get_arg(&self, py: Python) -> PyResult { - self.0.arg.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_alias", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct Alias(pub &'static ast::Alias); - -impl From<&'static ast::Alias> for Alias { - fn from(node: &'static ast::Alias) -> Self { - Alias(node) - } -} - -impl ToPyObject for Alias { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Alias { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(Alias(self).to_object(py)) - } -} - -#[pymethods] -impl Alias { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_asname(&self, py: Python) -> PyResult { - self.0.asname.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_withitem", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct WithItem(pub &'static ast::WithItem); - -impl From<&'static ast::WithItem> for WithItem { - fn from(node: &'static ast::WithItem) -> Self { - WithItem(node) - } -} - -impl ToPyObject for WithItem { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::WithItem { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(WithItem(self).to_object(py)) - } -} - -#[pymethods] -impl WithItem { - #[getter] - #[inline] - fn get_context_expr(&self, py: Python) -> PyResult { - self.0.context_expr.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_optional_vars(&self, py: Python) -> PyResult { - self.0.optional_vars.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_match_case", extends=super::Ast, frozen)] -#[derive(Clone, Debug)] -pub struct MatchCase(pub &'static ast::MatchCase); - -impl From<&'static ast::MatchCase> for MatchCase { - fn from(node: &'static ast::MatchCase) -> Self { - MatchCase(node) - } -} - -impl ToPyObject for MatchCase { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast).add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::MatchCase { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(MatchCase(self).to_object(py)) - } -} - -#[pymethods] -impl MatchCase { - #[getter] - #[inline] - fn get_pattern(&self, py: Python) -> PyResult { - self.0.pattern.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_guard(&self, py: Python) -> PyResult { - self.0.guard.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_body(&self, py: Python) -> PyResult { - self.0.body.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_pattern", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct Pattern; - -impl From<&'static ast::Pattern> for Pattern { - fn from(_node: &'static ast::Pattern) -> Self { - Pattern - } -} - -#[pymethods] -impl Pattern { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for Pattern { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::Pattern { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::MatchValue(cons) => cons.to_py_wrapper(py), - Self::MatchSingleton(cons) => cons.to_py_wrapper(py), - Self::MatchSequence(cons) => cons.to_py_wrapper(py), - Self::MatchMapping(cons) => cons.to_py_wrapper(py), - Self::MatchClass(cons) => cons.to_py_wrapper(py), - Self::MatchStar(cons) => cons.to_py_wrapper(py), - Self::MatchAs(cons) => cons.to_py_wrapper(py), - Self::MatchOr(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchValue", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchValue(pub &'static ast::PatternMatchValue); - -impl From<&'static ast::PatternMatchValue> for PatternMatchValue { - fn from(node: &'static ast::PatternMatchValue) -> Self { - PatternMatchValue(node) - } -} - -impl ToPyObject for PatternMatchValue { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchValue { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchValue(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchValue { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchSingleton", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchSingleton(pub &'static ast::PatternMatchSingleton); - -impl From<&'static ast::PatternMatchSingleton> for PatternMatchSingleton { - fn from(node: &'static ast::PatternMatchSingleton) -> Self { - PatternMatchSingleton(node) - } -} - -impl ToPyObject for PatternMatchSingleton { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchSingleton { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchSingleton(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchSingleton { - #[getter] - #[inline] - fn get_value(&self, py: Python) -> PyResult { - self.0.value.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchSequence", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchSequence(pub &'static ast::PatternMatchSequence); - -impl From<&'static ast::PatternMatchSequence> for PatternMatchSequence { - fn from(node: &'static ast::PatternMatchSequence) -> Self { - PatternMatchSequence(node) - } -} - -impl ToPyObject for PatternMatchSequence { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchSequence { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchSequence(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchSequence { - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchMapping", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchMapping(pub &'static ast::PatternMatchMapping); - -impl From<&'static ast::PatternMatchMapping> for PatternMatchMapping { - fn from(node: &'static ast::PatternMatchMapping) -> Self { - PatternMatchMapping(node) - } -} - -impl ToPyObject for PatternMatchMapping { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchMapping { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchMapping(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchMapping { - #[getter] - #[inline] - fn get_keys(&self, py: Python) -> PyResult { - self.0.keys.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_rest(&self, py: Python) -> PyResult { - self.0.rest.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchClass", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchClass(pub &'static ast::PatternMatchClass); - -impl From<&'static ast::PatternMatchClass> for PatternMatchClass { - fn from(node: &'static ast::PatternMatchClass) -> Self { - PatternMatchClass(node) - } -} - -impl ToPyObject for PatternMatchClass { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchClass { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchClass(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchClass { - #[getter] - #[inline] - fn get_cls(&self, py: Python) -> PyResult { - self.0.cls.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwd_attrs(&self, py: Python) -> PyResult { - self.0.kwd_attrs.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_kwd_patterns(&self, py: Python) -> PyResult { - self.0.kwd_patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchStar", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchStar(pub &'static ast::PatternMatchStar); - -impl From<&'static ast::PatternMatchStar> for PatternMatchStar { - fn from(node: &'static ast::PatternMatchStar) -> Self { - PatternMatchStar(node) - } -} - -impl ToPyObject for PatternMatchStar { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchStar { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchStar(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchStar { - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchAs", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchAs(pub &'static ast::PatternMatchAs); - -impl From<&'static ast::PatternMatchAs> for PatternMatchAs { - fn from(node: &'static ast::PatternMatchAs) -> Self { - PatternMatchAs(node) - } -} - -impl ToPyObject for PatternMatchAs { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchAs { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchAs(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchAs { - #[getter] - #[inline] - fn get_pattern(&self, py: Python) -> PyResult { - self.0.pattern.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_name(&self, py: Python) -> PyResult { - self.0.name.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_MatchOr", extends=Pattern, frozen)] -#[derive(Clone, Debug)] -pub struct PatternMatchOr(pub &'static ast::PatternMatchOr); - -impl From<&'static ast::PatternMatchOr> for PatternMatchOr { - fn from(node: &'static ast::PatternMatchOr) -> Self { - PatternMatchOr(node) - } -} - -impl ToPyObject for PatternMatchOr { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(Pattern) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::PatternMatchOr { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(PatternMatchOr(self).to_object(py)) - } -} - -#[pymethods] -impl PatternMatchOr { - #[getter] - #[inline] - fn get_patterns(&self, py: Python) -> PyResult { - self.0.patterns.to_py_wrapper(py) - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_type_ignore", extends=super::Ast, frozen, subclass)] -#[derive(Clone, Debug)] -pub struct TypeIgnore; - -impl From<&'static ast::TypeIgnore> for TypeIgnore { - fn from(_node: &'static ast::TypeIgnore) -> Self { - TypeIgnore - } -} - -#[pymethods] -impl TypeIgnore { - #[new] - fn new() -> PyClassInitializer { - PyClassInitializer::from(Ast).add_subclass(Self) - } -} -impl ToPyObject for TypeIgnore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::TypeIgnore { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match &self { - Self::TypeIgnore(cons) => cons.to_py_wrapper(py), - } - } -} - -#[pyclass(module="rustpython_ast.ranged", name="_TypeIgnore", extends=TypeIgnore, frozen)] -#[derive(Clone, Debug)] -pub struct TypeIgnoreTypeIgnore(pub &'static ast::TypeIgnoreTypeIgnore); - -impl From<&'static ast::TypeIgnoreTypeIgnore> for TypeIgnoreTypeIgnore { - fn from(node: &'static ast::TypeIgnoreTypeIgnore) -> Self { - TypeIgnoreTypeIgnore(node) - } -} - -impl ToPyObject for TypeIgnoreTypeIgnore { - fn to_object(&self, py: Python) -> PyObject { - let initializer = PyClassInitializer::from(Ast) - .add_subclass(TypeIgnore) - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - } -} - -impl ToPyWrapper for ast::TypeIgnoreTypeIgnore { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(TypeIgnoreTypeIgnore(self).to_object(py)) - } -} - -#[pymethods] -impl TypeIgnoreTypeIgnore { - #[getter] - #[inline] - fn get_lineno(&self, py: Python) -> PyResult { - self.0.lineno.to_py_wrapper(py) - } - - #[getter] - #[inline] - fn get_tag(&self, py: Python) -> PyResult { - self.0.tag.to_py_wrapper(py) - } -} - -pub fn add_to_module(py: Python, m: &PyModule) -> PyResult<()> { - super::init_module(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - super::init_type::(py, m)?; - Ok(()) -} diff --git a/ast-pyo3/src/lib.rs b/ast-pyo3/src/lib.rs deleted file mode 100644 index 65a336b0..00000000 --- a/ast-pyo3/src/lib.rs +++ /dev/null @@ -1,49 +0,0 @@ -mod py_ast; -#[cfg(feature = "wrapper")] -pub mod wrapper; - -pub use py_ast::{init, PyNode, ToPyAst}; -use pyo3::prelude::*; -use rustpython_parser::ast::{source_code::LinearLocator, Fold}; - -#[pyfunction] -#[pyo3(signature = (source, filename="", *, type_comments=false, locate=true))] -pub fn parse<'py>( - source: &str, - filename: &str, - type_comments: bool, - locate: bool, - py: Python<'py>, -) -> PyResult<&'py PyAny> { - if type_comments { - todo!("'type_comments' is not implemented yet"); - } - let parsed = rustpython_parser::parse(source, rustpython_parser::Mode::Module, filename) - .map_err(|e| PyErr::new::(e.to_string()))?; - if locate { - let parsed = LinearLocator::new(source).fold(parsed).unwrap(); - parsed.module().unwrap().to_py_ast(py) - } else { - parsed.module().unwrap().to_py_ast(py) - } -} - -#[pymodule] -fn rustpython_ast(py: Python, m: &PyModule) -> PyResult<()> { - py_ast::init(py)?; - - #[cfg(feature = "wrapper")] - { - let ast = PyModule::new(py, "ast")?; - wrapper::located::add_to_module(py, ast)?; - m.add_submodule(ast)?; - - let ast = PyModule::new(py, "unlocated_ast")?; - wrapper::ranged::add_to_module(py, ast)?; - m.add_submodule(ast)?; - } - - m.add_function(wrap_pyfunction!(parse, m)?)?; - - Ok(()) -} diff --git a/ast-pyo3/src/py_ast.rs b/ast-pyo3/src/py_ast.rs deleted file mode 100644 index 6d2bb417..00000000 --- a/ast-pyo3/src/py_ast.rs +++ /dev/null @@ -1,219 +0,0 @@ -use num_complex::Complex64; -use num_traits::cast::ToPrimitive; -use once_cell::sync::OnceCell; -use pyo3::{ - prelude::*, - types::{PyBool, PyBytes, PyList, PyString, PyTuple}, - ToPyObject, -}; -use rustpython_ast::{ - self as ast, source_code::SourceRange, text_size::TextRange, ConversionFlag, Node, -}; - -pub trait PyNode { - fn py_type_cache() -> &'static OnceCell<(Py, Py)> { - { - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - } - } -} - -pub trait ToPyAst { - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny>; -} - -impl ToPyAst for Box { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - (**self).to_py_ast(py) - } -} - -impl ToPyAst for Option { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - match self { - Some(ast) => ast.to_py_ast(py), - None => Ok(ast_cache().none_ref(py)), - } - } -} - -impl ToPyAst for Vec { - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let elts = self - .iter() - .map(|item| item.to_py_ast(py)) - .collect::, _>>()?; - let list = PyList::new(py, elts); - Ok(list.into()) - } -} - -impl ToPyAst for ast::Identifier { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - Ok(PyString::new(py, self.as_str()).into()) - } -} - -impl ToPyAst for ast::String { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - Ok(PyString::new(py, self.as_str()).into()) - } -} - -impl ToPyAst for bool { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - Ok(ast_cache().bool_int(py, *self)) - } -} - -impl ToPyAst for ConversionFlag { - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - Ok(ast_cache().conversion_flag(py, *self)) - } -} - -impl ToPyAst for ast::Arguments -where - R: Clone, - ast::PythonArguments: ToPyAst, -{ - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> { - let arguments = self.to_python_arguments(); - arguments.to_py_ast(py) - } -} - -fn constant_to_object(constant: &ast::Constant, py: Python) -> PyObject { - let cache = ast_cache(); - match constant { - ast::Constant::None => cache.none.clone_ref(py), - ast::Constant::Bool(bool) => cache.bool(py, *bool).into(), - ast::Constant::Str(string) => string.to_object(py), - ast::Constant::Bytes(bytes) => PyBytes::new(py, bytes).into(), - ast::Constant::Int(int) => match int.to_i64() { - Some(small_int) => small_int.to_object(py), - None => int.to_object(py), - }, - ast::Constant::Tuple(elts) => { - let elts: Vec<_> = elts.iter().map(|c| constant_to_object(c, py)).collect(); - PyTuple::new(py, elts).into() - } - ast::Constant::Float(f64) => f64.to_object(py), - ast::Constant::Complex { real, imag } => Complex64::new(*real, *imag).to_object(py), - ast::Constant::Ellipsis => py.Ellipsis(), - } -} - -#[pyclass(module = "rustpython_ast", subclass)] -pub struct Ast; - -#[pymethods] -impl Ast { - #[new] - fn new() -> Self { - Self - } -} - -fn cache_py_type(ast_module: &PyAny) -> PyResult<()> { - let class = ast_module.getattr(N::NAME)?; - let base = if std::mem::size_of::() == 0 { - class.call0()? - } else { - class.getattr("__new__")? - }; - N::py_type_cache().get_or_init(|| (class.into(), base.into())); - Ok(()) -} - -// TODO: This cache must be bound to 'py -struct AstCache { - lineno: Py, - col_offset: Py, - end_lineno: Py, - end_col_offset: Py, - none: Py, - bool_values: (Py, Py), - bool_int_values: (Py, Py), - conversion_flags: (Py, Py, Py, Py), -} - -impl AstCache { - // fn location_vec<'py>(&'static self, py: Python<'py>, range: &SourceRange) -> &'py PyDict { - // let attributes = PyDict::new(py); - // attributes.set_item(self.lineno.as_ref(py), range.start.row.get()).unwrap(); - // attributes.set_item(self.col_offset.as_ref(py), range.start.column.to_zero_indexed()).unwrap(); - // if let Some(end) = range.end { - // attributes.set_item(self.end_lineno.as_ref(py), end.row.get()).unwrap(); - // attributes.set_item( - // self.end_col_offset.as_ref(py), - // end.column.to_zero_indexed(), - // ).unwrap(); - // } - // attributes - // } - #[inline] - fn none_ref<'py>(&'static self, py: Python<'py>) -> &'py PyAny { - Py::::as_ref(&self.none, py) - } - #[inline] - fn bool_int<'py>(&'static self, py: Python<'py>, value: bool) -> &'py PyAny { - let v = &self.bool_int_values; - Py::::as_ref(if value { &v.1 } else { &v.0 }, py) - } - #[inline] - fn bool(&'static self, py: Python, value: bool) -> Py { - let v = &self.bool_values; - (if value { &v.1 } else { &v.0 }).clone_ref(py) - } - fn conversion_flag<'py>(&'static self, py: Python<'py>, value: ConversionFlag) -> &'py PyAny { - let v = &self.conversion_flags; - match value { - ConversionFlag::None => v.0.as_ref(py), - ConversionFlag::Str => v.1.as_ref(py), - ConversionFlag::Ascii => v.2.as_ref(py), - ConversionFlag::Repr => v.3.as_ref(py), - } - } -} - -fn ast_cache_cell() -> &'static OnceCell { - { - static PY_TYPE: OnceCell = OnceCell::new(); - &PY_TYPE - } -} - -fn ast_cache() -> &'static AstCache { - ast_cache_cell().get().unwrap() -} - -pub fn init(py: Python) -> PyResult<()> { - ast_cache_cell().get_or_init(|| AstCache { - lineno: pyo3::intern!(py, "lineno").into_py(py), - col_offset: pyo3::intern!(py, "col_offset").into_py(py), - end_lineno: pyo3::intern!(py, "end_lineno").into_py(py), - end_col_offset: pyo3::intern!(py, "end_col_offset").into_py(py), - none: py.None(), - bool_values: (PyBool::new(py, false).into(), PyBool::new(py, true).into()), - bool_int_values: ((0).to_object(py), (1).to_object(py)), - conversion_flags: ( - (-1).to_object(py), - (b's').to_object(py), - (b'a').to_object(py), - (b'r').to_object(py), - ), - }); - - init_types(py) -} - -include!("gen/to_py_ast.rs"); diff --git a/ast-pyo3/src/wrapper.rs b/ast-pyo3/src/wrapper.rs deleted file mode 100644 index 1ac8f1c1..00000000 --- a/ast-pyo3/src/wrapper.rs +++ /dev/null @@ -1,153 +0,0 @@ -use crate::PyNode; -use num_complex::Complex64; -use pyo3::prelude::*; -use pyo3::types::{PyBytes, PyList, PyTuple}; -use rustpython_ast::{ - self as ast, source_code::SourceRange, text_size::TextRange, ConversionFlag, Node, -}; - -pub trait ToPyWrapper { - fn to_py_wrapper(&'static self, py: Python) -> PyResult>; -} - -impl ToPyWrapper for Box { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - (**self).to_py_wrapper(py) - } -} - -impl ToPyWrapper for Option { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - match self { - Some(ast) => ast.to_py_wrapper(py), - None => Ok(py.None()), - } - } -} - -impl ToPyWrapper for ast::Identifier { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(self.as_str().to_object(py)) - } -} - -impl ToPyWrapper for ast::String { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok(self.as_str().to_object(py)) - } -} - -impl ToPyWrapper for ast::Int { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok((self.to_u32()).to_object(py)) - } -} - -impl ToPyWrapper for bool { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok((*self as u32).to_object(py)) - } -} - -impl ToPyWrapper for ConversionFlag { - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - Ok((*self as i8).to_object(py)) - } -} - -impl ToPyWrapper for ast::Constant { - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - let value = match self { - ast::Constant::None => py.None(), - ast::Constant::Bool(bool) => bool.to_object(py), - ast::Constant::Str(string) => string.to_object(py), - ast::Constant::Bytes(bytes) => PyBytes::new(py, bytes).into(), - ast::Constant::Int(int) => int.to_object(py), - ast::Constant::Tuple(elts) => { - let elts: PyResult> = elts.iter().map(|c| c.to_py_wrapper(py)).collect(); - PyTuple::new(py, elts?).into() - } - ast::Constant::Float(f64) => f64.to_object(py), - ast::Constant::Complex { real, imag } => Complex64::new(*real, *imag).to_object(py), - ast::Constant::Ellipsis => py.Ellipsis(), - }; - Ok(value) - } -} - -impl ToPyWrapper for Vec { - fn to_py_wrapper(&'static self, py: Python) -> PyResult> { - let list = PyList::empty(py); - for item in self { - let py_item = item.to_py_wrapper(py)?; - list.append(py_item)?; - } - Ok(list.into()) - } -} - -impl ToPyWrapper for ast::Arguments -where - Self: Clone, - ast::PythonArguments: ToPyWrapper, -{ - #[inline] - fn to_py_wrapper(&'static self, _py: Python) -> PyResult> { - todo!() - // Ok(FunctionArguments(self).to_object(py)) - } -} - -#[pyclass(module = "rustpython_ast", name = "AST", subclass)] -pub struct Ast; - -#[pymethods] -impl Ast { - #[new] - fn new() -> Self { - Self - } -} - -pub mod located { - pub use super::Ast; - use super::*; - include!("gen/wrapper_located.rs"); -} - -pub mod ranged { - pub use super::Ast; - use super::*; - include!("gen/wrapper_ranged.rs"); -} - -fn init_type(py: Python, m: &PyModule) -> PyResult<()> { - m.add_class::

()?; - let node = m.getattr(P::NAME)?; - if P::NAME != N::NAME { - // TODO: no idea how to escape rust keyword on #[pyclass] - m.setattr(P::NAME, node)?; - } - let names: Vec<&'static str> = N::FIELD_NAMES.to_vec(); - let fields = PyTuple::new(py, names); - node.setattr("_fields", fields)?; - Ok(()) -} - -/// A Python module implemented in Rust. -fn init_module(py: Python, m: &PyModule) -> PyResult<()> { - m.add_class::()?; - - let ast = m.getattr("AST")?; - let fields = PyTuple::empty(py); - ast.setattr("_fields", fields)?; - - Ok(()) -} diff --git a/ast-pyo3/test_ast.py b/ast-pyo3/test_ast.py deleted file mode 100644 index e09d1892..00000000 --- a/ast-pyo3/test_ast.py +++ /dev/null @@ -1,56 +0,0 @@ -import re -import difflib -import pytest - -import ast as py_ast -import rustpython_ast as rust_ast - - -from glob import glob - -files = {} -for path in glob("../../cpython/Lib/**/*.py"): - try: - txt = open(path, "r").read() - except UnicodeDecodeError: - continue - - # try: - # if py_ast.dump(py_ast.parse(txt)) != py_ast.dump(rust_ast.parse(txt)): - # continue - # except SyntaxError: - # continue - files[path] = txt - - -@pytest.mark.parametrize("path", files.keys()) -def test_roundtrip(path): - txt = files[path] - module_p = py_ast.parse(txt) - dump_p = py_ast.dump(module_p, indent=True) - module_r = rust_ast.parse(txt) - dump_r = py_ast.dump(module_r, indent=True) - p = re.compile("object at 0x[0-9a-f]+") - dump_p2 = re.sub(p, "object at 0x????????", dump_p) - dump_r2 = re.sub(p, "object at 0x????????", dump_r) - try: - assert dump_p2 == dump_r2 - except AssertionError: - last_sign = ' ' - for s in difflib.ndiff(dump_p2, dump_r2): - if s[0]==' ': continue - if s[0] == last_sign: - print(s[2:], end='') - else: - print() - print(s, end='') - last_sign = s[0] - # with open("dump_code.py", "w") as f: - # f.write(path) - # f.write('\n') - # f.write(txt) - # with open("dump_p.txt", "w") as f: - # f.write(dump_p2) - # with open("dump_r.txt", "w") as f: - # f.write(dump_r2) - raise diff --git a/ast/Cargo.toml b/ast/Cargo.toml index d3229bcc..fe869346 100644 --- a/ast/Cargo.toml +++ b/ast/Cargo.toml @@ -8,13 +8,7 @@ repository = "https://github.com/RustPython/Parser/" license = "MIT" [features] -default = ["location", "malachite-bigint"] -constant-optimization = ["fold"] -location = ["fold", "rustpython-parser-core/location"] -fold = [] -unparse = ["rustpython-literal"] -visitor = [] -all-nodes-with-ranges = [] +default = ["malachite-bigint"] [dependencies] rustpython-parser-core = { workspace = true } diff --git a/ast/Python.asdl b/ast/Python.asdl deleted file mode 100644 index e9423a7c..00000000 --- a/ast/Python.asdl +++ /dev/null @@ -1,145 +0,0 @@ --- ASDL's 4 builtin types are: --- identifier, int, string, constant - -module Python -{ - mod = Module(stmt* body, type_ignore* type_ignores) - | Interactive(stmt* body) - | Expression(expr body) - | FunctionType(expr* argtypes, expr returns) - - stmt = FunctionDef(identifier name, arguments args, - stmt* body, expr* decorator_list, expr? returns, - string? type_comment) - | AsyncFunctionDef(identifier name, arguments args, - stmt* body, expr* decorator_list, expr? returns, - string? type_comment) - - | ClassDef(identifier name, - expr* bases, - keyword* keywords, - stmt* body, - expr* decorator_list) - | Return(expr? value) - - | Delete(expr* targets) - | Assign(expr* targets, expr value, string? type_comment) - | AugAssign(expr target, operator op, expr value) - -- 'simple' indicates that we annotate simple name without parens - | AnnAssign(expr target, expr annotation, expr? value, int simple) - - -- use 'orelse' because else is a keyword in target languages - | For(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment) - | AsyncFor(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment) - | While(expr test, stmt* body, stmt* orelse) - | If(expr test, stmt* body, stmt* orelse) - | With(withitem* items, stmt* body, string? type_comment) - | AsyncWith(withitem* items, stmt* body, string? type_comment) - - | Match(expr subject, match_case* cases) - - | Raise(expr? exc, expr? cause) - | Try(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody) - | TryStar(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody) - | Assert(expr test, expr? msg) - - | Import(alias* names) - | ImportFrom(identifier? module, alias* names, int? level) - - | Global(identifier* names) - | Nonlocal(identifier* names) - | Expr(expr value) - | Pass | Break | Continue - - -- col_offset is the byte offset in the utf8 string the parser uses - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - -- BoolOp() can use left & right? - expr = BoolOp(boolop op, expr* values) - | NamedExpr(expr target, expr value) - | BinOp(expr left, operator op, expr right) - | UnaryOp(unaryop op, expr operand) - | Lambda(arguments args, expr body) - | IfExp(expr test, expr body, expr orelse) - | Dict(expr* keys, expr* values) - | Set(expr* elts) - | ListComp(expr elt, comprehension* generators) - | SetComp(expr elt, comprehension* generators) - | DictComp(expr key, expr value, comprehension* generators) - | GeneratorExp(expr elt, comprehension* generators) - -- the grammar constrains where yield expressions can occur - | Await(expr value) - | Yield(expr? value) - | YieldFrom(expr value) - -- need sequences for compare to distinguish between - -- x < 4 < 3 and (x < 4) < 3 - | Compare(expr left, cmpop* ops, expr* comparators) - | Call(expr func, expr* args, keyword* keywords) - | FormattedValue(expr value, int conversion, expr? format_spec) - | JoinedStr(expr* values) - | Constant(constant value, string? kind) - - -- the following expression can appear in assignment context - | Attribute(expr value, identifier attr, expr_context ctx) - | Subscript(expr value, expr slice, expr_context ctx) - | Starred(expr value, expr_context ctx) - | Name(identifier id, expr_context ctx) - | List(expr* elts, expr_context ctx) - | Tuple(expr* elts, expr_context ctx) - - -- can appear only in Subscript - | Slice(expr? lower, expr? upper, expr? step) - - -- col_offset is the byte offset in the utf8 string the parser uses - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - expr_context = Load | Store | Del - - boolop = And | Or - - operator = Add | Sub | Mult | MatMult | Div | Mod | Pow | LShift - | RShift | BitOr | BitXor | BitAnd | FloorDiv - - unaryop = Invert | Not | UAdd | USub - - cmpop = Eq | NotEq | Lt | LtE | Gt | GtE | Is | IsNot | In | NotIn - - comprehension = (expr target, expr iter, expr* ifs, int is_async) - - excepthandler = ExceptHandler(expr? type, identifier? name, stmt* body) - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - arguments = (arg* posonlyargs, arg* args, arg? vararg, arg* kwonlyargs, - expr* kw_defaults, arg? kwarg, expr* defaults) - - arg = (identifier arg, expr? annotation, string? type_comment) - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - -- keyword arguments supplied to call (NULL identifier for **kwargs) - keyword = (identifier? arg, expr value) - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - -- import name with optional 'as' alias. - alias = (identifier name, identifier? asname) - attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset) - - withitem = (expr context_expr, expr? optional_vars) - - match_case = (pattern pattern, expr? guard, stmt* body) - - pattern = MatchValue(expr value) - | MatchSingleton(constant value) - | MatchSequence(pattern* patterns) - | MatchMapping(expr* keys, pattern* patterns, identifier? rest) - | MatchClass(expr cls, pattern* patterns, identifier* kwd_attrs, pattern* kwd_patterns) - - | MatchStar(identifier? name) - -- The optional "rest" MatchMapping parameter handles capturing extra mapping keys - - | MatchAs(pattern? pattern, identifier? name) - | MatchOr(pattern* patterns) - - attributes (int lineno, int col_offset, int end_lineno, int end_col_offset) - - type_ignore = TypeIgnore(int lineno, string tag) -} diff --git a/ast/asdl.py b/ast/asdl.py deleted file mode 100644 index 5c111b3e..00000000 --- a/ast/asdl.py +++ /dev/null @@ -1,385 +0,0 @@ -#------------------------------------------------------------------------------- -# Parser for ASDL [1] definition files. Reads in an ASDL description and parses -# it into an AST that describes it. -# -# The EBNF we're parsing here: Figure 1 of the paper [1]. Extended to support -# modules and attributes after a product. Words starting with Capital letters -# are terminals. Literal tokens are in "double quotes". Others are -# non-terminals. Id is either TokenId or ConstructorId. -# -# module ::= "module" Id "{" [definitions] "}" -# definitions ::= { TypeId "=" type } -# type ::= product | sum -# product ::= fields ["attributes" fields] -# fields ::= "(" { field, "," } field ")" -# field ::= TypeId ["?" | "*"] [Id] -# sum ::= constructor { "|" constructor } ["attributes" fields] -# constructor ::= ConstructorId [fields] -# -# [1] "The Zephyr Abstract Syntax Description Language" by Wang, et. al. See -# http://asdl.sourceforge.net/ -#------------------------------------------------------------------------------- -from collections import namedtuple -import re - -__all__ = [ - 'builtin_types', 'parse', 'AST', 'Module', 'Type', 'Constructor', - 'Field', 'Sum', 'Product', 'VisitorBase', 'Check', 'check'] - -# The following classes define nodes into which the ASDL description is parsed. -# Note: this is a "meta-AST". ASDL files (such as Python.asdl) describe the AST -# structure used by a programming language. But ASDL files themselves need to be -# parsed. This module parses ASDL files and uses a simple AST to represent them. -# See the EBNF at the top of the file to understand the logical connection -# between the various node types. - -builtin_types = {'identifier', 'string', 'int', 'constant'} - -class AST: - def __repr__(self): - raise NotImplementedError - -class Module(AST): - def __init__(self, name, dfns): - self.name = name - self.dfns = dfns - self.types = {type.name: type.value for type in dfns} - - def __repr__(self): - return 'Module({0.name}, {0.dfns})'.format(self) - -class Type(AST): - def __init__(self, name, value): - self.name = name - self.value = value - - def __repr__(self): - return 'Type({0.name}, {0.value})'.format(self) - -class Constructor(AST): - def __init__(self, name, fields=None): - self.name = name - self.fields = fields or [] - - def __repr__(self): - return 'Constructor({0.name}, {0.fields})'.format(self) - -class Field(AST): - def __init__(self, type, name=None, seq=False, opt=False): - self.type = type - self.name = name - self.seq = seq - self.opt = opt - - def __str__(self): - if self.seq: - extra = "*" - elif self.opt: - extra = "?" - else: - extra = "" - - return "{}{} {}".format(self.type, extra, self.name) - - def __repr__(self): - if self.seq: - extra = ", seq=True" - elif self.opt: - extra = ", opt=True" - else: - extra = "" - if self.name is None: - return 'Field({0.type}{1})'.format(self, extra) - else: - return 'Field({0.type}, {0.name}{1})'.format(self, extra) - -class Sum(AST): - def __init__(self, types, attributes=None): - self.types = types - self.attributes = attributes or [] - - def __repr__(self): - if self.attributes: - return 'Sum({0.types}, {0.attributes})'.format(self) - else: - return 'Sum({0.types})'.format(self) - -class Product(AST): - def __init__(self, fields, attributes=None): - self.fields = fields - self.attributes = attributes or [] - - def __repr__(self): - if self.attributes: - return 'Product({0.fields}, {0.attributes})'.format(self) - else: - return 'Product({0.fields})'.format(self) - -# A generic visitor for the meta-AST that describes ASDL. This can be used by -# emitters. Note that this visitor does not provide a generic visit method, so a -# subclass needs to define visit methods from visitModule to as deep as the -# interesting node. -# We also define a Check visitor that makes sure the parsed ASDL is well-formed. - -class VisitorBase(object): - """Generic tree visitor for ASTs.""" - def __init__(self): - self.cache = {} - - def visit(self, obj, *args): - klass = obj.__class__ - meth = self.cache.get(klass) - if meth is None: - methname = "visit" + klass.__name__ - meth = getattr(self, methname, None) - self.cache[klass] = meth - if meth: - try: - meth(obj, *args) - except Exception as e: - print("Error visiting %r: %s" % (obj, e)) - raise - -class Check(VisitorBase): - """A visitor that checks a parsed ASDL tree for correctness. - - Errors are printed and accumulated. - """ - def __init__(self): - super(Check, self).__init__() - self.cons = {} - self.errors = 0 - self.types = {} - - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type): - self.visit(type.value, str(type.name)) - - def visitSum(self, sum, name): - for t in sum.types: - self.visit(t, name) - - def visitConstructor(self, cons, name): - key = str(cons.name) - conflict = self.cons.get(key) - if conflict is None: - self.cons[key] = name - else: - print('Redefinition of constructor {}'.format(key)) - print('Defined in {} and {}'.format(conflict, name)) - self.errors += 1 - for f in cons.fields: - self.visit(f, key) - - def visitField(self, field, name): - key = str(field.type) - l = self.types.setdefault(key, []) # noqa - l.append(name) - - def visitProduct(self, prod, name): - for f in prod.fields: - self.visit(f, name) - -def check(mod): - """Check the parsed ASDL tree for correctness. - - Return True if success. For failure, the errors are printed out and False - is returned. - """ - v = Check() - v.visit(mod) - - for t in v.types: - if t not in mod.types and t not in builtin_types: - v.errors += 1 - uses = ", ".join(v.types[t]) - print('Undefined type {}, used in {}'.format(t, uses)) - return not v.errors - -# The ASDL parser itself comes next. The only interesting external interface -# here is the top-level parse function. - -def parse(filename): - """Parse ASDL from the given file and return a Module node describing it.""" - with open(filename, encoding="utf-8") as f: - parser = ASDLParser() - return parser.parse(f.read()) - -# Types for describing tokens in an ASDL specification. -class TokenKind: - """TokenKind is provides a scope for enumerated token kinds.""" - (ConstructorId, TypeId, Equals, Comma, Question, Pipe, Asterisk, - LParen, RParen, LBrace, RBrace) = range(11) - - operator_table = { - '=': Equals, ',': Comma, '?': Question, '|': Pipe, '(': LParen, - ')': RParen, '*': Asterisk, '{': LBrace, '}': RBrace} - -Token = namedtuple('Token', 'kind value lineno') - -class ASDLSyntaxError(Exception): - def __init__(self, msg, lineno=None): - self.msg = msg - self.lineno = lineno or '' - - def __str__(self): - return 'Syntax error on line {0.lineno}: {0.msg}'.format(self) - -def tokenize_asdl(buf): - """Tokenize the given buffer. Yield Token objects.""" - for lineno, line in enumerate(buf.splitlines(), 1): - for m in re.finditer(r'\s*(\w+|--.*|.)', line.strip()): - c = m.group(1) - if c[0].isalpha(): - # Some kind of identifier - if c[0].isupper(): - yield Token(TokenKind.ConstructorId, c, lineno) - else: - yield Token(TokenKind.TypeId, c, lineno) - elif c[:2] == '--': - # Comment - break - else: - # Operators - try: - op_kind = TokenKind.operator_table[c] - except KeyError: - raise ASDLSyntaxError('Invalid operator %s' % c, lineno) - yield Token(op_kind, c, lineno) - -class ASDLParser: - """Parser for ASDL files. - - Create, then call the parse method on a buffer containing ASDL. - This is a simple recursive descent parser that uses tokenize_asdl for the - lexing. - """ - def __init__(self): - self._tokenizer = None - self.cur_token = None - - def parse(self, buf): - """Parse the ASDL in the buffer and return an AST with a Module root. - """ - self._tokenizer = tokenize_asdl(buf) - self._advance() - return self._parse_module() - - def _parse_module(self): - if self._at_keyword('module'): - self._advance() - else: - raise ASDLSyntaxError( - 'Expected "module" (found {})'.format(self.cur_token.value), - self.cur_token.lineno) - name = self._match(self._id_kinds) - self._match(TokenKind.LBrace) - defs = self._parse_definitions() - self._match(TokenKind.RBrace) - return Module(name, defs) - - def _parse_definitions(self): - defs = [] - while self.cur_token.kind == TokenKind.TypeId: - typename = self._advance() - self._match(TokenKind.Equals) - type = self._parse_type() - defs.append(Type(typename, type)) - return defs - - def _parse_type(self): - if self.cur_token.kind == TokenKind.LParen: - # If we see a (, it's a product - return self._parse_product() - else: - # Otherwise it's a sum. Look for ConstructorId - sumlist = [Constructor(self._match(TokenKind.ConstructorId), - self._parse_optional_fields())] - while self.cur_token.kind == TokenKind.Pipe: - # More constructors - self._advance() - sumlist.append(Constructor( - self._match(TokenKind.ConstructorId), - self._parse_optional_fields())) - return Sum(sumlist, self._parse_optional_attributes()) - - def _parse_product(self): - return Product(self._parse_fields(), self._parse_optional_attributes()) - - def _parse_fields(self): - fields = [] - self._match(TokenKind.LParen) - while self.cur_token.kind == TokenKind.TypeId: - typename = self._advance() - is_seq, is_opt = self._parse_optional_field_quantifier() - id = (self._advance() if self.cur_token.kind in self._id_kinds - else None) - fields.append(Field(typename, id, seq=is_seq, opt=is_opt)) - if self.cur_token.kind == TokenKind.RParen: - break - elif self.cur_token.kind == TokenKind.Comma: - self._advance() - self._match(TokenKind.RParen) - return fields - - def _parse_optional_fields(self): - if self.cur_token.kind == TokenKind.LParen: - return self._parse_fields() - else: - return None - - def _parse_optional_attributes(self): - if self._at_keyword('attributes'): - self._advance() - return self._parse_fields() - else: - return None - - def _parse_optional_field_quantifier(self): - is_seq, is_opt = False, False - if self.cur_token.kind == TokenKind.Asterisk: - is_seq = True - self._advance() - elif self.cur_token.kind == TokenKind.Question: - is_opt = True - self._advance() - return is_seq, is_opt - - def _advance(self): - """ Return the value of the current token and read the next one into - self.cur_token. - """ - cur_val = None if self.cur_token is None else self.cur_token.value - try: - self.cur_token = next(self._tokenizer) - except StopIteration: - self.cur_token = None - return cur_val - - _id_kinds = (TokenKind.ConstructorId, TokenKind.TypeId) - - def _match(self, kind): - """The 'match' primitive of RD parsers. - - * Verifies that the current token is of the given kind (kind can - be a tuple, in which the kind must match one of its members). - * Returns the value of the current token - * Reads in the next token - """ - if (isinstance(kind, tuple) and self.cur_token.kind in kind or - self.cur_token.kind == kind - ): - value = self.cur_token.value - self._advance() - return value - else: - raise ASDLSyntaxError( - 'Unmatched {} (found {})'.format(kind, self.cur_token.kind), - self.cur_token.lineno) - - def _at_keyword(self, keyword): - return (self.cur_token.kind == TokenKind.TypeId and - self.cur_token.value == keyword) diff --git a/ast/asdl_rs.py b/ast/asdl_rs.py deleted file mode 100755 index 517a4b47..00000000 --- a/ast/asdl_rs.py +++ /dev/null @@ -1,2232 +0,0 @@ -# spell-checker:words dfn dfns - -# ! /usr/bin/env python -"""Generate Rust code from an ASDL description.""" - -import sys -import json -import textwrap -import re - -from argparse import ArgumentParser -from pathlib import Path -from typing import Optional, Dict, Any - -import asdl - -TABSIZE = 4 -AUTO_GEN_MESSAGE = "// File automatically generated by {}.\n\n" - -BUILTIN_TYPE_NAMES = { - "identifier": "Identifier", - "string": "String", - "int": "Int", - "constant": "Constant", -} -assert BUILTIN_TYPE_NAMES.keys() == asdl.builtin_types - -BUILTIN_INT_NAMES = { - "simple": "bool", - "is_async": "bool", - "conversion": "ConversionFlag", -} - -RENAME_MAP = { - "cmpop": "cmp_op", - "unaryop": "unary_op", - "boolop": "bool_op", - "excepthandler": "except_handler", - "withitem": "with_item", -} - -RUST_KEYWORDS = { - "if", - "while", - "for", - "return", - "match", - "try", - "await", - "yield", - "in", - "mod", - "type", -} - -attributes = [ - asdl.Field("int", "lineno"), - asdl.Field("int", "col_offset"), - asdl.Field("int", "end_lineno"), - asdl.Field("int", "end_col_offset"), -] - -ORIGINAL_NODE_WARNING = "NOTE: This type is different from original Python AST." - -arg_with_default = asdl.Type( - "arg_with_default", - asdl.Product( - [ - asdl.Field("arg", "def"), - asdl.Field( - "expr", "default", opt=True - ), # order is important for cost-free borrow! - ], - ), -) -arg_with_default.doc = f""" -An alternative type of AST `arg`. This is used for each function argument that might have a default value. -Used by `Arguments` original type. - -{ORIGINAL_NODE_WARNING} -""".strip() - -alt_arguments = asdl.Type( - "alt:arguments", - asdl.Product( - [ - asdl.Field("arg_with_default", "posonlyargs", seq=True), - asdl.Field("arg_with_default", "args", seq=True), - asdl.Field("arg", "vararg", opt=True), - asdl.Field("arg_with_default", "kwonlyargs", seq=True), - asdl.Field("arg", "kwarg", opt=True), - ] - ), -) -alt_arguments.doc = f""" -An alternative type of AST `arguments`. This is parser-friendly and human-friendly definition of function arguments. -This form also has advantage to implement pre-order traverse. -`defaults` and `kw_defaults` fields are removed and the default values are placed under each `arg_with_default` typed argument. -`vararg` and `kwarg` are still typed as `arg` because they never can have a default value. - -The matching Python style AST type is [PythonArguments]. While [PythonArguments] has ordered `kwonlyargs` fields by -default existence, [Arguments] has location-ordered kwonlyargs fields. - -{ORIGINAL_NODE_WARNING} -""".strip() - -# Must be used only for rust types, not python types -CUSTOM_TYPES = [ - alt_arguments, - arg_with_default, -] - -CUSTOM_REPLACEMENTS = { - "arguments": alt_arguments, -} -CUSTOM_ATTACHMENTS = [ - arg_with_default, -] - - -def maybe_custom(type): - return CUSTOM_REPLACEMENTS.get(type.name, type) - - -def rust_field_name(name): - name = rust_type_name(name) - return re.sub(r"(?" - - @property - def name(self): - return self.type.name - - @property - def is_type(self): - return isinstance(self.type, asdl.Type) - - @property - def is_product(self): - return self.is_type and isinstance(self.type.value, asdl.Product) - - @property - def is_sum(self): - return self.is_type and isinstance(self.type.value, asdl.Sum) - - @property - def has_expr(self): - return self.is_product and any( - f.type != "identifier" for f in self.type.value.fields - ) - - @property - def is_custom(self): - return self.type.name in [t.name for t in CUSTOM_TYPES] - - @property - def is_custom_replaced(self): - return self.type.name in CUSTOM_REPLACEMENTS - - @property - def custom(self): - if self.type.name in CUSTOM_REPLACEMENTS: - return CUSTOM_REPLACEMENTS[self.type.name] - return self.type - - def no_cfg(self, typeinfo): - if self.is_product: - return self.has_attributes - elif self.enum_name: - return typeinfo[self.enum_name].has_attributes - else: - return self.has_attributes - - @property - def rust_name(self): - return rust_type_name(self.name) - - @property - def full_field_name(self): - name = self.name - if name.startswith("alt:"): - name = name[4:] - if self.enum_name is None: - return name - else: - return f"{self.enum_name}_{rust_field_name(name)}" - - @property - def full_type_name(self): - name = self.name - if name.startswith("alt:"): - name = name[4:] - rust_name = rust_type_name(name) - if self.enum_name is not None: - rust_name = rust_type_name(self.enum_name) + rust_name - if self.is_custom_replaced: - rust_name = "Python" + rust_name - return rust_name - - def determine_user_data(self, type_info, stack): - if self.name in stack: - return None - stack.add(self.name) - for child, child_seq in self.children: - if child in asdl.builtin_types: - continue - child_info = type_info[child] - child_has_user_data = child_info.determine_user_data(type_info, stack) - if self.has_user_data is None and child_has_user_data is True: - self.has_user_data = True - - stack.remove(self.name) - return self.has_user_data - - -class TypeInfoMixin: - type_info: Dict[str, TypeInfo] - - def customized_type_info(self, type_name): - info = self.type_info[type_name] - return self.type_info[info.custom.name] - - def has_user_data(self, typ): - return self.type_info[typ].has_user_data - - def apply_generics(self, typ, *generics): - needs_generics = not self.type_info[typ].is_simple - if needs_generics: - return [f"<{g}>" for g in generics] - else: - return ["" for g in generics] - - -class EmitVisitor(asdl.VisitorBase, TypeInfoMixin): - """Visit that emits lines""" - - def __init__(self, file, type_info): - self.file = file - self.type_info = type_info - self.identifiers = set() - super(EmitVisitor, self).__init__() - - def emit_identifier(self, name): - name = str(name) - if name in self.identifiers: - return - self.emit("_Py_IDENTIFIER(%s);" % name, 0) - self.identifiers.add(name) - - def emit(self, line, depth): - if line: - line = (" " * TABSIZE * depth) + textwrap.dedent(line) - self.file.write(line + "\n") - - -class FindUserDataTypesVisitor(asdl.VisitorBase): - def __init__(self, type_info): - self.type_info = type_info - super().__init__() - - def visitModule(self, mod): - for dfn in mod.dfns + CUSTOM_TYPES: - self.visit(dfn) - stack = set() - for info in self.type_info.values(): - info.determine_user_data(self.type_info, stack) - - def visitType(self, type): - key = type.name - info = self.type_info[key] = TypeInfo(type) - self.visit(type.value, info) - - def visitSum(self, sum, info): - type = info.type - info.is_simple = is_simple(sum) - for cons in sum.types: - self.visit(cons, type, info.is_simple) - - if info.is_simple: - info.has_user_data = False - return - - for t in sum.types: - self.add_children(t.name, t.fields) - - if len(sum.types) > 1: - info.boxed = True - if sum.attributes: - # attributes means located, which has the `range: R` field - info.has_user_data = True - info.has_attributes = True - - for variant in sum.types: - self.add_children(type.name, variant.fields) - - def visitConstructor(self, cons, type, simple): - info = self.type_info[cons.name] = TypeInfo(cons) - info.enum_name = type.name - info.is_simple = simple - - def visitProduct(self, product, info): - type = info.type - if product.attributes: - # attributes means located, which has the `range: R` field - info.has_user_data = True - info.has_attributes = True - if len(product.fields) > 2: - info.boxed = True - self.add_children(type.name, product.fields) - - def add_children(self, name, fields): - self.type_info[name].children.update( - (field.type, field.seq) for field in fields - ) - - -def rust_field(field_name): - if field_name in RUST_KEYWORDS: - field_name += "_" - return field_name - - -class StructVisitor(EmitVisitor): - """Visitor to generate type-defs for AST.""" - - def __init__(self, *args, **kw): - super().__init__(*args, **kw) - - def emit_attrs(self, depth): - self.emit("#[derive(Clone, Debug, PartialEq)]", depth) - - def emit_range(self, has_attributes, depth): - if has_attributes: - self.emit("pub range: R,", depth + 1) - else: - self.emit("pub range: OptionalRange,", depth + 1) - - def visitModule(self, mod): - self.emit_attrs(0) - self.emit( - """ - #[derive(is_macro::Is)] - pub enum Ast { - """, - 0, - ) - for dfn in mod.dfns: - info = self.customized_type_info(dfn.name) - dfn = info.custom - rust_name = info.full_type_name - generics = "" if self.type_info[dfn.name].is_simple else "" - if dfn.name == "mod": - # This is exceptional rule to other enums. - # Unlike other enums, this is justified because `Mod` is only used as - # the top node of parsing result and never a child node of other nodes. - # Because it will be very rarely used in very particular applications, - # "ast_" prefix to everywhere seems less useful. - self.emit('#[is(name = "module")]', 1) - self.emit(f"{rust_name}({rust_name}{generics}),", 1) - self.emit( - """ - } - impl Node for Ast { - const NAME: &'static str = "AST"; - const FIELD_NAMES: &'static [&'static str] = &[]; - } - """, - 0, - ) - for dfn in mod.dfns: - info = self.customized_type_info(dfn.name) - rust_name = info.full_type_name - generics = "" if self.type_info[dfn.name].is_simple else "" - self.emit( - f""" - impl From<{rust_name}{generics}> for Ast {{ - fn from(node: {rust_name}{generics}) -> Self {{ - Ast::{rust_name}(node) - }} - }} - """, - 0, - ) - - for dfn in mod.dfns + CUSTOM_TYPES: - self.visit(dfn) - - def visitType(self, type, depth=0): - if hasattr(type, "doc"): - doc = "/// " + type.doc.replace("\n", "\n/// ") + "\n" - else: - doc = f"/// See also [{type.name}](https://docs.python.org/3/library/ast.html#ast.{type.name})" - self.emit(doc, depth) - self.visit(type.value, type, depth) - - def visitSum(self, sum, type, depth): - if is_simple(sum): - self.simple_sum(sum, type, depth) - else: - self.sum_with_constructors(sum, type, depth) - - (generics_applied,) = self.apply_generics(type.name, "R") - self.emit( - f""" - impl{generics_applied} Node for {rust_type_name(type.name)}{generics_applied} {{ - const NAME: &'static str = "{type.name}"; - const FIELD_NAMES: &'static [&'static str] = &[]; - }} - """, - depth, - ) - - def simple_sum(self, sum, type, depth): - rust_name = rust_type_name(type.name) - self.emit_attrs(depth) - self.emit("#[derive(is_macro::Is, Copy, Hash, Eq)]", depth) - self.emit(f"pub enum {rust_name} {{", depth) - for cons in sum.types: - self.emit(f"{cons.name},", depth + 1) - self.emit("}", depth) - self.emit(f"impl {rust_name} {{", depth) - needs_escape = any(rust_field_name(t.name) in RUST_KEYWORDS for t in sum.types) - if needs_escape: - prefix = rust_field_name(type.name) + "_" - else: - prefix = "" - for cons in sum.types: - self.emit( - f""" - #[inline] - pub const fn {prefix}{rust_field_name(cons.name)}(&self) -> Option<{rust_name}{cons.name}> {{ - match self {{ - {rust_name}::{cons.name} => Some({rust_name}{cons.name}), - _ => None, - }} - }} - """, - depth, - ) - self.emit("}", depth) - self.emit("", depth) - - for cons in sum.types: - self.emit( - f""" - pub struct {rust_name}{cons.name}; - impl From<{rust_name}{cons.name}> for {rust_name} {{ - fn from(_: {rust_name}{cons.name}) -> Self {{ - {rust_name}::{cons.name} - }} - }} - impl From<{rust_name}{cons.name}> for Ast {{ - fn from(_: {rust_name}{cons.name}) -> Self {{ - {rust_name}::{cons.name}.into() - }} - }} - impl Node for {rust_name}{cons.name} {{ - const NAME: &'static str = "{cons.name}"; - const FIELD_NAMES: &'static [&'static str] = &[]; - }} - impl std::cmp::PartialEq<{rust_name}> for {rust_name}{cons.name} {{ - #[inline] - fn eq(&self, other: &{rust_name}) -> bool {{ - matches!(other, {rust_name}::{cons.name}) - }} - }} - """, - 0, - ) - - def sum_with_constructors(self, sum, type, depth): - type_info = self.type_info[type.name] - rust_name = rust_type_name(type.name) - - self.emit_attrs(depth) - self.emit("#[derive(is_macro::Is)]", depth) - self.emit(f"pub enum {rust_name} {{", depth) - needs_escape = any(rust_field_name(t.name) in RUST_KEYWORDS for t in sum.types) - for t in sum.types: - if needs_escape: - self.emit( - f'#[is(name = "{rust_field_name(t.name)}_{rust_name.lower()}")]', - depth + 1, - ) - self.emit(f"{t.name}({rust_name}{t.name}),", depth + 1) - self.emit("}", depth) - self.emit("", depth) - - for t in sum.types: - self.sum_subtype_struct(type_info, t, rust_name, depth) - - - def sum_subtype_struct(self, sum_type_info, t, rust_name, depth): - self.emit(f"""/// See also [{t.name}](https://docs.python.org/3/library/ast.html#ast.{t.name})""", depth) - self.emit_attrs(depth) - payload_name = f"{rust_name}{t.name}" - self.emit(f"pub struct {payload_name} {{", depth) - self.emit_range(sum_type_info.has_attributes, depth) - for f in t.fields: - self.visit(f, sum_type_info, "pub ", depth + 1, t.name) - - assert sum_type_info.has_attributes == self.type_info[t.name].no_cfg( - self.type_info - ) - - self.emit("}", depth) - field_names = [f'"{f.name}"' for f in t.fields] - self.emit( - f""" - impl Node for {payload_name} {{ - const NAME: &'static str = "{t.name}"; - const FIELD_NAMES: &'static [&'static str] = &[{', '.join(field_names)}]; - }} - impl From<{payload_name}> for {rust_name} {{ - fn from(payload: {payload_name}) -> Self {{ - {rust_name}::{t.name}(payload) - }} - }} - impl From<{payload_name}> for Ast {{ - fn from(payload: {payload_name}) -> Self {{ - {rust_name}::from(payload).into() - }} - }} - """, - depth, - ) - - self.emit("", depth) - - def visitConstructor(self, cons, parent, depth): - if cons.fields: - self.emit(f"{cons.name} {{", depth) - for f in cons.fields: - self.visit(f, parent, "", depth + 1, cons.name) - self.emit("},", depth) - else: - self.emit(f"{cons.name},", depth) - - def visitField(self, field, parent, vis, depth, constructor=None): - try: - field_type = self.customized_type_info(field.type) - typ = field_type.full_type_name - except KeyError: - field_type = None - typ = rust_type_name(field.type) - if field_type and not field_type.is_simple: - typ = f"{typ}" - # don't box if we're doing Vec, but do box if we're doing Vec>> - if ( - field_type - and field_type.boxed - and (not (parent.is_product or field.seq) or field.opt) - ): - typ = f"Box<{typ}>" - if field.opt or ( - # When a dictionary literal contains dictionary unpacking (e.g., `{**d}`), - # the expression to be unpacked goes in `values` with a `None` at the corresponding - # position in `keys`. To handle this, the type of `keys` needs to be `Option>`. - constructor == "Dict" - and field.name == "keys" - ): - typ = f"Option<{typ}>" - if field.seq: - typ = f"Vec<{typ}>" - if typ == "Int": - typ = BUILTIN_INT_NAMES.get(field.name, typ) - name = rust_field(field.name) - self.emit(f"{vis}{name}: {typ},", depth) - - def visitProduct(self, product, type, depth): - type_info = self.type_info[type.name] - product_name = type_info.full_type_name - self.emit_attrs(depth) - self.emit(f"pub struct {product_name} {{", depth) - self.emit_range(product.attributes, depth + 1) - for f in product.fields: - self.visit(f, type_info, "pub ", depth + 1) - assert bool(product.attributes) == type_info.no_cfg(self.type_info) - self.emit("}", depth) - - field_names = [f'"{f.name}"' for f in product.fields] - self.emit( - f""" - impl Node for {product_name} {{ - const NAME: &'static str = "{type.name}"; - const FIELD_NAMES: &'static [&'static str] = &[ - {', '.join(field_names)} - ]; - }} - """, - depth, - ) - - -class FoldTraitDefVisitor(EmitVisitor): - def visitModule(self, mod, depth): - self.emit("pub trait Fold {", depth) - self.emit("type TargetU;", depth + 1) - self.emit("type Error;", depth + 1) - self.emit("type UserContext;", depth + 1) - self.emit( - """ - fn will_map_user(&mut self, user: &U) -> Self::UserContext; - #[cfg(feature = "all-nodes-with-ranges")] - fn will_map_user_cfg(&mut self, user: &U) -> Self::UserContext { - self.will_map_user(user) - } - #[cfg(not(feature = "all-nodes-with-ranges"))] - fn will_map_user_cfg(&mut self, _user: &crate::EmptyRange) -> crate::EmptyRange { - crate::EmptyRange::default() - } - fn map_user(&mut self, user: U, context: Self::UserContext) -> Result; - #[cfg(feature = "all-nodes-with-ranges")] - fn map_user_cfg(&mut self, user: U, context: Self::UserContext) -> Result { - self.map_user(user, context) - } - #[cfg(not(feature = "all-nodes-with-ranges"))] - fn map_user_cfg( - &mut self, - _user: crate::EmptyRange, - _context: crate::EmptyRange, - ) -> Result, Self::Error> { - Ok(crate::EmptyRange::default()) - } - """, - depth + 1, - ) - self.emit( - """ - fn fold>(&mut self, node: X) -> Result { - node.fold(self) - }""", - depth + 1, - ) - for dfn in mod.dfns + [arg_with_default]: - dfn = maybe_custom(dfn) - self.visit(dfn, depth + 2) - self.emit("}", depth) - - def visitType(self, type, depth): - info = self.type_info[type.name] - apply_u, apply_target_u = self.apply_generics(info.name, "U", "Self::TargetU") - enum_name = info.full_type_name - self.emit( - f"fn fold_{info.full_field_name}(&mut self, node: {enum_name}{apply_u}) -> Result<{enum_name}{apply_target_u}, Self::Error> {{", - depth, - ) - self.emit(f"fold_{info.full_field_name}(self, node)", depth + 1) - self.emit("}", depth) - - if isinstance(type.value, asdl.Sum) and not is_simple(type.value): - for cons in type.value.types: - self.visit(cons, type, depth) - - def visitConstructor(self, cons, type, depth): - info = self.type_info[type.name] - apply_u, apply_target_u = self.apply_generics(type.name, "U", "Self::TargetU") - enum_name = rust_type_name(type.name) - func_name = f"fold_{info.full_field_name}_{rust_field_name(cons.name)}" - self.emit( - f"fn {func_name}(&mut self, node: {enum_name}{cons.name}{apply_u}) -> Result<{enum_name}{cons.name}{apply_target_u}, Self::Error> {{", - depth, - ) - self.emit(f"{func_name}(self, node)", depth + 1) - self.emit("}", depth) - - -class FoldImplVisitor(EmitVisitor): - def visitModule(self, mod, depth): - for dfn in mod.dfns + [arg_with_default]: - dfn = maybe_custom(dfn) - self.visit(dfn, depth) - - def visitType(self, type, depth=0): - self.visit(type.value, type, depth) - - def visitSum(self, sum, type, depth): - name = type.name - apply_t, apply_u, apply_target_u = self.apply_generics( - name, "T", "U", "F::TargetU" - ) - enum_name = rust_type_name(name) - simple = is_simple(sum) - - self.emit(f"impl Foldable for {enum_name}{apply_t} {{", depth) - self.emit(f"type Mapped = {enum_name}{apply_u};", depth + 1) - self.emit( - "fn fold + ?Sized>(self, folder: &mut F) -> Result {", - depth + 1, - ) - self.emit(f"folder.fold_{name}(self)", depth + 2) - self.emit("}", depth + 1) - self.emit("}", depth) - - self.emit( - f"pub fn fold_{name} + ?Sized>(#[allow(unused)] folder: &mut F, node: {enum_name}{apply_u}) -> Result<{enum_name}{apply_target_u}, F::Error> {{", - depth, - ) - - if simple: - self.emit("Ok(node) }", depth + 1) - return - - self.emit("let folded = match node {", depth + 1) - for cons in sum.types: - self.emit( - f"{enum_name}::{cons.name}(cons) => {enum_name}::{cons.name}(Foldable::fold(cons, folder)?),", - depth + 1, - ) - - self.emit("};", depth + 1) - self.emit("Ok(folded)", depth + 1) - self.emit("}", depth) - - for cons in sum.types: - self.visit(cons, type, depth) - - def visitConstructor(self, cons, type, depth): - apply_t, apply_u, apply_target_u = self.apply_generics( - type.name, "T", "U", "F::TargetU" - ) - info = self.type_info[type.name] - enum_name = info.full_type_name - - cons_type_name = f"{enum_name}{cons.name}" - - self.emit(f"impl Foldable for {cons_type_name}{apply_t} {{", depth) - self.emit(f"type Mapped = {cons_type_name}{apply_u};", depth + 1) - self.emit( - "fn fold + ?Sized>(self, folder: &mut F) -> Result {", - depth + 1, - ) - self.emit( - f"folder.fold_{info.full_field_name}_{rust_field_name(cons.name)}(self)", - depth + 2, - ) - self.emit("}", depth + 1) - self.emit("}", depth) - - self.emit( - f"pub fn fold_{info.full_field_name}_{rust_field_name(cons.name)} + ?Sized>(#[allow(unused)] folder: &mut F, node: {cons_type_name}{apply_u}) -> Result<{enum_name}{cons.name}{apply_target_u}, F::Error> {{", - depth, - ) - - fields_pattern = self.make_pattern(cons.fields) - - map_user_suffix = "" if info.has_attributes else "_cfg" - self.emit( - f""" - let {cons_type_name} {{ {fields_pattern} }} = node; - let context = folder.will_map_user{map_user_suffix}(&range); - """, - depth + 3, - ) - self.fold_fields(cons.fields, depth + 3) - self.emit( - f"let range = folder.map_user{map_user_suffix}(range, context)?;", - depth + 3, - ) - self.composite_fields(f"{cons_type_name}", cons.fields, depth + 3) - self.emit("}", depth + 2) - - def visitProduct(self, product, type, depth): - info = self.type_info[type.name] - name = type.name - apply_t, apply_u, apply_target_u = self.apply_generics( - name, "T", "U", "F::TargetU" - ) - struct_name = info.full_type_name - has_attributes = bool(product.attributes) - - self.emit(f"impl Foldable for {struct_name}{apply_t} {{", depth) - self.emit(f"type Mapped = {struct_name}{apply_u};", depth + 1) - self.emit( - "fn fold + ?Sized>(self, folder: &mut F) -> Result {", - depth + 1, - ) - self.emit(f"folder.fold_{info.full_field_name}(self)", depth + 2) - self.emit("}", depth + 1) - self.emit("}", depth) - - self.emit( - f"pub fn fold_{info.full_field_name} + ?Sized>(#[allow(unused)] folder: &mut F, node: {struct_name}{apply_u}) -> Result<{struct_name}{apply_target_u}, F::Error> {{", - depth, - ) - - fields_pattern = self.make_pattern(product.fields) - self.emit(f"let {struct_name} {{ {fields_pattern} }} = node;", depth + 1) - - map_user_suffix = "" if has_attributes else "_cfg" - - self.emit( - f"let context = folder.will_map_user{map_user_suffix}(&range);", depth + 3 - ) - self.fold_fields(product.fields, depth + 1) - self.emit( - f"let range = folder.map_user{map_user_suffix}(range, context)?;", depth + 3 - ) - self.composite_fields(struct_name, product.fields, depth + 1) - - self.emit("}", depth) - - def make_pattern(self, fields): - body = ",".join(rust_field(f.name) for f in fields) - if body: - body += "," - body += "range" - - return body - - def fold_fields(self, fields, depth): - for field in fields: - name = rust_field(field.name) - self.emit(f"let {name} = Foldable::fold({name}, folder)?;", depth + 1) - - def composite_fields(self, header, fields, depth): - self.emit(f"Ok({header} {{", depth) - for field in fields: - name = rust_field(field.name) - self.emit(f"{name},", depth + 1) - self.emit("range,", depth + 1) - self.emit("})", depth) - - -class FoldModuleVisitor(EmitVisitor): - def visitModule(self, mod): - depth = 0 - FoldTraitDefVisitor(self.file, self.type_info).visit(mod, depth) - FoldImplVisitor(self.file, self.type_info).visit(mod, depth) - - -class VisitorModuleVisitor(StructVisitor): - def full_name(self, name): - type_info = self.type_info[name] - if type_info.enum_name: - return f"{type_info.enum_name}_{name}" - else: - return name - - def node_type_name(self, name): - type_info = self.type_info[name] - if type_info.enum_name: - return f"{rust_type_name(type_info.enum_name)}{rust_type_name(name)}" - else: - return rust_type_name(name) - - def visitModule(self, mod, depth=0): - self.emit("#[allow(unused_variables)]", depth) - self.emit("pub trait Visitor {", depth) - - for dfn in mod.dfns: - dfn = self.customized_type_info(dfn.name).type - self.visit(dfn, depth + 1) - self.emit("}", depth) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - if is_simple(sum): - self.simple_sum(sum, name, depth) - else: - self.sum_with_constructors(sum, name, depth) - - def emit_visitor(self, nodename, depth, has_node=True): - type_info = self.type_info[nodename] - node_type = type_info.full_type_name - (generic,) = self.apply_generics(nodename, "R") - self.emit( - f"fn visit_{type_info.full_field_name}(&mut self, node: {node_type}{generic}) {{", - depth, - ) - if has_node: - self.emit( - f"self.generic_visit_{type_info.full_field_name}(node)", depth + 1 - ) - - self.emit("}", depth) - - def emit_generic_visitor_signature(self, nodename, depth, has_node=True): - type_info = self.type_info[nodename] - if has_node: - node_type = type_info.full_type_name - else: - node_type = "()" - (generic,) = self.apply_generics(nodename, "R") - self.emit( - f"fn generic_visit_{type_info.full_field_name}(&mut self, node: {node_type}{generic}) {{", - depth, - ) - - def emit_empty_generic_visitor(self, nodename, depth): - self.emit_generic_visitor_signature(nodename, depth) - self.emit("}", depth) - - def simple_sum(self, sum, name, depth): - self.emit_visitor(name, depth) - self.emit_empty_generic_visitor(name, depth) - - def visit_match_for_type(self, nodename, rust_name, type_, depth): - self.emit(f"{rust_name}::{type_.name}", depth) - self.emit("(data)", depth) - self.emit( - f"=> self.visit_{nodename}_{rust_field_name(type_.name)}(data),", depth - ) - - def visit_sum_type(self, name, type_, depth): - self.emit_visitor(type_.name, depth, has_node=type_.fields) - if not type_.fields: - return - - self.emit_generic_visitor_signature(type_.name, depth, has_node=True) - for field in type_.fields: - if field.type in CUSTOM_REPLACEMENTS: - type_name = CUSTOM_REPLACEMENTS[field.type].name - else: - type_name = field.type - field_name = rust_field(field.name) - field_type = self.type_info.get(type_name) - if not (field_type and field_type.has_user_data): - continue - - if field.opt: - self.emit(f"if let Some(value) = node.{field_name} {{", depth + 1) - elif field.seq: - iterable = f"node.{field_name}" - if type_.name == "Dict" and field.name == "keys": - iterable = f"{iterable}.into_iter().flatten()" - self.emit(f"for value in {iterable} {{", depth + 1) - else: - self.emit("{", depth + 1) - self.emit(f"let value = node.{field_name};", depth + 2) - - variable = "value" - if field_type.boxed and (not field.seq or field.opt): - variable = "*" + variable - type_info = self.type_info[field_type.name] - self.emit(f"self.visit_{type_info.full_field_name}({variable});", depth + 2) - - self.emit("}", depth + 1) - - self.emit("}", depth) - - def sum_with_constructors(self, sum, name, depth): - if not sum.attributes: - return - - enum_name = rust_type_name(name) - self.emit_visitor(name, depth) - self.emit_generic_visitor_signature(name, depth) - depth += 1 - self.emit("match node {", depth) - for t in sum.types: - self.visit_match_for_type(name, enum_name, t, depth + 1) - self.emit("}", depth) - depth -= 1 - self.emit("}", depth) - - # Now for the visitors for the types - for t in sum.types: - self.visit_sum_type(name, t, depth) - - def visitProduct(self, product, name, depth): - self.emit_visitor(name, depth) - self.emit_empty_generic_visitor(name, depth) - - -class RangedDefVisitor(EmitVisitor): - def visitModule(self, mod): - for dfn in mod.dfns + CUSTOM_TYPES: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - info = self.type_info[name] - - self.emit_type_alias(info) - - if info.is_simple: - for ty in sum.types: - variant_info = self.type_info[ty.name] - self.emit_type_alias(variant_info) - return - - sum_match_arms = "" - - for ty in sum.types: - variant_info = self.type_info[ty.name] - sum_match_arms += ( - f" Self::{variant_info.rust_name}(node) => node.range()," - ) - self.emit_type_alias(variant_info) - self.emit_ranged_impl(variant_info) - - if not info.no_cfg(self.type_info): - self.emit('#[cfg(feature = "all-nodes-with-ranges")]', 0) - - self.emit( - f""" - impl Ranged for crate::{info.full_type_name} {{ - fn range(&self) -> TextRange {{ - match self {{ - {sum_match_arms} - }} - }} - }} - """.lstrip(), - 0, - ) - - def visitProduct(self, product, name, depth): - info = self.type_info[name] - - self.emit_type_alias(info) - self.emit_ranged_impl(info) - - def emit_type_alias(self, info): - return # disable - generics = "" if info.is_simple else "::" - - self.emit( - f"pub type {info.full_type_name} = crate::generic::{info.full_type_name}{generics};", - 0, - ) - self.emit("", 0) - - def emit_ranged_impl(self, info): - if not info.no_cfg(self.type_info): - self.emit('#[cfg(feature = "all-nodes-with-ranges")]', 0) - - self.file.write( - f""" - impl Ranged for crate::generic::{info.full_type_name}:: {{ - fn range(&self) -> TextRange {{ - self.range - }} - }} - """.strip() - ) - - -class LocatedDefVisitor(EmitVisitor): - def visitModule(self, mod): - for dfn in mod.dfns + CUSTOM_TYPES: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - info = self.type_info[name] - - self.emit_type_alias(info) - - if info.is_simple: - for ty in sum.types: - variant_info = self.type_info[ty.name] - self.emit_type_alias(variant_info) - return - - sum_match_arms = "" - - for ty in sum.types: - variant_info = self.type_info[ty.name] - sum_match_arms += ( - f" Self::{variant_info.rust_name}(node) => node.range()," - ) - self.emit_type_alias(variant_info) - self.emit_located_impl(variant_info) - - if not info.no_cfg(self.type_info): - cfg = '#[cfg(feature = "all-nodes-with-ranges")]' - else: - cfg = '' - - self.emit( - f""" - {cfg} - impl Located for {info.full_type_name} {{ - fn range(&self) -> SourceRange {{ - match self {{ - {sum_match_arms} - }} - }} - }} - {cfg} - impl LocatedMut for {info.full_type_name} {{ - fn range_mut(&mut self) -> &mut SourceRange {{ - match self {{ - {sum_match_arms.replace('range()', 'range_mut()')} - }} - }} - }} - """.lstrip(), - 0, - ) - - def visitProduct(self, product, name, depth): - info = self.type_info[name] - - self.emit_type_alias(info) - self.emit_located_impl(info) - - def emit_type_alias(self, info): - generics = "" if info.is_simple else "::" - - self.emit( - f"pub type {info.full_type_name} = crate::generic::{info.full_type_name}{generics};", - 0, - ) - self.emit("", 0) - - def emit_located_impl(self, info): - if not info.no_cfg(self.type_info): - cfg = '#[cfg(feature = "all-nodes-with-ranges")]' - else: - cfg = '' - - self.emit( - f""" - {cfg} - impl Located for {info.full_type_name} {{ - fn range(&self) -> SourceRange {{ - self.range - }} - }} - {cfg} - impl LocatedMut for {info.full_type_name} {{ - fn range_mut(&mut self) -> &mut SourceRange {{ - &mut self.range - }} - }} - """, - 0, - ) - - -class ToPyo3AstVisitor(EmitVisitor): - """Visitor to generate type-defs for AST.""" - - def __init__(self, namespace, *args, **kw): - super().__init__(*args, **kw) - self.namespace = namespace - - @property - def generics(self): - if self.namespace == "ranged": - return "" - elif self.namespace == "located": - return "" - else: - assert False, self.namespace - - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type): - self.visit(type.value, type) - - def visitProduct(self, product, type): - info = self.type_info[type.name] - rust_name = info.full_type_name - self.emit_to_pyo3_with_fields(product, type, rust_name) - - def visitSum(self, sum, type): - info = self.type_info[type.name] - rust_name = info.full_type_name - simple = is_simple(sum) - if is_simple(sum): - return - - self.emit( - f""" - impl ToPyAst for ast::{rust_name}{self.generics} {{ - #[inline] - fn to_py_ast<'py>(&self, {"_" if simple else ""}py: Python<'py>) -> PyResult<&'py PyAny> {{ - let instance = match &self {{ - """, - 0, - ) - for cons in sum.types: - self.emit( - f"ast::{rust_name}::{cons.name}(cons) => cons.to_py_ast(py)?,", - 1, - ) - self.emit( - """ - }; - Ok(instance) - } - } - """, - 0, - ) - - for cons in sum.types: - self.visit(cons, type) - - def visitConstructor(self, cons, type): - parent = rust_type_name(type.name) - self.emit_to_pyo3_with_fields(cons, type, f"{parent}{cons.name}") - - def emit_to_pyo3_with_fields(self, cons, type, name): - type_info = self.type_info[type.name] - - self.emit( - f""" - impl ToPyAst for ast::{name}{self.generics} {{ - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> {{ - let cache = Self::py_type_cache().get().unwrap(); - """, - 0, - ) - if cons.fields: - field_names = ", ".join(rust_field(f.name) for f in cons.fields) - if not type_info.is_simple: - field_names += ", range: _range" - self.emit( - f"let Self {{ {field_names} }} = self;", - 1, - ) - self.emit( - """ - let instance = Py::::as_ref(&cache.0, py).call1(( - """, - 1, - ) - for field in cons.fields: - if field.type == "constant": - self.emit( - f"constant_to_object({rust_field(field.name)}, py),", - 3, - ) - continue - if field.type == "int": - if field.name == "level": - assert field.opt - self.emit( - f"{rust_field(field.name)}.map_or_else(|| py.None(), |level| level.to_u32().to_object(py)),", - 3, - ) - continue - if field.name == "lineno": - self.emit( - f"{rust_field(field.name)}.to_u32().to_object(py),", - 3, - ) - continue - self.emit( - f"{rust_field(field.name)}.to_py_ast(py)?,", - 3, - ) - self.emit( - "))?;", - 0, - ) - else: - self.emit( - "let Self { range: _range } = self;", - 1, - ) - self.emit( - """let instance = Py::::as_ref(&cache.0, py).call0()?;""", - 1, - ) - if type.value.attributes and self.namespace == "located": - self.emit( - """ - let cache = ast_cache(); - instance.setattr(cache.lineno.as_ref(py), _range.start.row.get())?; - instance.setattr(cache.col_offset.as_ref(py), _range.start.column.get())?; - if let Some(end) = _range.end { - instance.setattr(cache.end_lineno.as_ref(py), end.row.get())?; - instance.setattr(cache.end_col_offset.as_ref(py), end.column.get())?; - } - """, - 0, - ) - self.emit( - """ - Ok(instance) - } - } - """, - 0, - ) - - -class Pyo3StructVisitor(EmitVisitor): - """Visitor to generate type-defs for AST.""" - - def __init__(self, namespace, *args, **kw): - self.namespace = namespace - self.borrow = True - super().__init__(*args, **kw) - - @property - def generics(self): - if self.namespace == "ranged": - return "" - elif self.namespace == "located": - return "" - else: - assert False, self.namespace - - @property - def module_name(self): - name = f"rustpython_ast.{self.namespace}" - return name - - @property - def ref_def(self): - return "&'static " if self.borrow else "" - - @property - def ref(self): - return "&" if self.borrow else "" - - def emit_class(self, info, simple, base="super::Ast"): - inner_name = info.full_type_name - rust_name = self.type_info[info.custom.name].full_type_name - if simple: - generics = "" - else: - generics = self.generics - if info.is_sum: - subclass = ", subclass" - body = "" - into = f"{rust_name}" - else: - subclass = "" - body = f"(pub {self.ref_def} ast::{inner_name}{generics})" - into = f"{rust_name}(node)" - - self.emit( - f""" - #[pyclass(module="{self.module_name}", name="_{info.name}", extends={base}, frozen{subclass})] - #[derive(Clone, Debug)] - pub struct {rust_name} {body}; - - impl From<{self.ref_def} ast::{inner_name}{generics}> for {rust_name} {{ - fn from({"" if body else "_"}node: {self.ref_def} ast::{inner_name}{generics}) -> Self {{ - {into} - }} - }} - """, - 0, - ) - - if subclass: - self.emit( - f""" - #[pymethods] - impl {rust_name} {{ - #[new] - fn new() -> PyClassInitializer {{ - PyClassInitializer::from(Ast) - .add_subclass(Self) - }} - - }} - impl ToPyObject for {rust_name} {{ - fn to_object(&self, py: Python) -> PyObject {{ - let initializer = Self::new(); - Py::new(py, initializer).unwrap().into_py(py) - }} - }} - """, - 0, - ) - else: - if base != "super::Ast": - add_subclass = f".add_subclass({base})" - else: - add_subclass = "" - self.emit( - f""" - impl ToPyObject for {rust_name} {{ - fn to_object(&self, py: Python) -> PyObject {{ - let initializer = PyClassInitializer::from(Ast) - {add_subclass} - .add_subclass(self.clone()); - Py::new(py, initializer).unwrap().into_py(py) - }} - }} - """, - 0, - ) - - if not subclass: - self.emit_wrapper(info) - - def emit_getter(self, owner, type_name): - self.emit( - f""" - #[pymethods] - impl {type_name} {{ - """, - 0, - ) - - for field in owner.fields: - self.emit( - f""" - #[getter] - #[inline] - fn get_{field.name}(&self, py: Python) -> PyResult {{ - self.0.{rust_field(field.name)}.to_py_wrapper(py) - }} - """, - 3, - ) - - self.emit( - """ - } - """, - 0, - ) - - def emit_getattr(self, owner, type_name): - self.emit( - f""" - #[pymethods] - impl {type_name} {{ - fn __getattr__(&self, py: Python, key: &str) -> PyResult {{ - let object: Py = match key {{ - """, - 0, - ) - - for field in owner.fields: - self.emit( - f'"{field.name}" => self.0.{rust_field(field.name)}.to_py_wrapper(py)?,', - 3, - ) - - self.emit( - """ - _ => todo!(), - }; - Ok(object) - } - } - """, - 0, - ) - - def emit_wrapper(self, info): - inner_name = info.full_type_name - rust_name = self.type_info[info.custom.name].full_type_name - self.emit( - f""" - impl ToPyWrapper for ast::{inner_name}{self.generics} {{ - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> {{ - Ok({rust_name}(self).to_object(py)) - }} - }} - """, - 0, - ) - - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type, depth) - - def visitSum(self, sum, type, depth=0): - info = self.type_info[type.name] - rust_name = rust_type_name(type.name) - - simple = is_simple(sum) - self.emit_class(info, simple) - - if not simple: - self.emit( - f""" - impl ToPyWrapper for ast::{rust_name}{self.generics} {{ - #[inline] - fn to_py_wrapper(&'static self, py: Python) -> PyResult> {{ - match &self {{ - """, - 0, - ) - - for cons in sum.types: - self.emit(f"Self::{cons.name}(cons) => cons.to_py_wrapper(py),", 3) - - self.emit( - """ - } - } - } - """, - 0, - ) - - for cons in sum.types: - self.visit(cons, rust_name, simple, depth + 1) - - def visitProduct(self, product, type, depth=0): - info = self.type_info[type.name] - rust_name = rust_type_name(type.name) - self.emit_class(info, False) - if self.borrow: - self.emit_getter(product, rust_name) - - def visitConstructor(self, cons, parent, simple, depth): - if simple: - self.emit( - f""" - #[pyclass(module="{self.module_name}", name="_{cons.name}", extends={parent})] - pub struct {parent}{cons.name}; - - impl ToPyObject for {parent}{cons.name} {{ - fn to_object(&self, py: Python) -> PyObject {{ - let initializer = PyClassInitializer::from(Ast) - .add_subclass({parent}) - .add_subclass(Self); - Py::new(py, initializer).unwrap().into_py(py) - }} - }} - """, - depth, - ) - else: - info = self.type_info[cons.name] - self.emit_class( - info, - simple=False, - base=parent, - ) - if self.borrow: - self.emit_getter(cons, f"{parent}{cons.name}") - - -class Pyo3PymoduleVisitor(EmitVisitor): - def __init__(self, namespace, *args, **kw): - self.namespace = namespace - super().__init__(*args, **kw) - - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitProduct(self, product, name, depth=0): - info = self.type_info[name] - self.emit_fields(info, False) - - def visitSum(self, sum, name, depth): - info = self.type_info[name] - simple = is_simple(sum) - self.emit_fields(info, True) - - for cons in sum.types: - self.visit(cons, name, simple, depth) - - def visitConstructor(self, cons, parent, simple, depth): - info = self.type_info[cons.name] - self.emit_fields(info, simple) - - def emit_fields(self, info, simple): - inner_name = info.full_type_name - rust_name = self.type_info[info.custom.name].full_type_name - self.emit(f"super::init_type::<{rust_name}, ast::{inner_name}>(py, m)?;", 1) - - -class StdlibClassDefVisitor(EmitVisitor): - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - # info = self.type_info[self.type_info[name].custom.name] - info = self.type_info[name] - struct_name = "Node" + info.full_type_name - self.emit( - f'#[pyclass(module = "_ast", name = {json.dumps(name)}, base = "NodeAst")]', - depth, - ) - self.emit(f"struct {struct_name};", depth) - self.emit("#[pyclass(flags(HAS_DICT, BASETYPE))]", depth) - self.emit(f"impl {struct_name} {{}}", depth) - for cons in sum.types: - self.visit(cons, sum.attributes, struct_name, depth) - - def visitConstructor(self, cons, attrs, base, depth): - self.gen_class_def(cons.name, cons.fields, attrs, depth, base) - - def visitProduct(self, product, name, depth): - self.gen_class_def(name, product.fields, product.attributes, depth) - - def gen_class_def(self, name, fields, attrs, depth, base=None): - - info = self.type_info[self.type_info[name].custom.name] - if base is None: - base = "NodeAst" - struct_name = "Node" + info.full_type_name - else: - struct_name = "Node" + info.full_type_name - self.emit( - f'#[pyclass(module = "_ast", name = {json.dumps(name)}, base = {json.dumps(base)})]', - depth, - ) - self.emit(f"struct {struct_name};", depth) - self.emit("#[pyclass(flags(HAS_DICT, BASETYPE))]", depth) - self.emit(f"impl {struct_name} {{", depth) - self.emit("#[extend_class]", depth + 1) - self.emit( - "fn extend_class_with_fields(ctx: &Context, class: &'static Py) {", - depth + 1, - ) - fields = ",".join( - f"ctx.new_str(ascii!({json.dumps(f.name)})).into()" for f in fields - ) - self.emit( - f"class.set_attr(identifier!(ctx, _fields), ctx.new_tuple(vec![{fields}]).into());", - depth + 2, - ) - attrs = ",".join( - f"ctx.new_str(ascii!({json.dumps(attr.name)})).into()" for attr in attrs - ) - self.emit( - f"class.set_attr(identifier!(ctx, _attributes), ctx.new_list(vec![{attrs}]).into());", - depth + 2, - ) - self.emit("}", depth + 1) - self.emit("}", depth) - - -class StdlibExtendModuleVisitor(EmitVisitor): - def visitModule(self, mod): - depth = 0 - self.emit( - "pub fn extend_module_nodes(vm: &VirtualMachine, module: &Py) {", - depth, - ) - self.emit("extend_module!(vm, module, {", depth + 1) - for dfn in mod.dfns: - self.visit(dfn, depth + 2) - self.emit("})", depth + 1) - self.emit("}", depth) - - def visitType(self, type, depth): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - rust_name = rust_type_name(name) - self.emit(f"{json.dumps(name)} => Node{rust_name}::make_class(&vm.ctx),", depth) - for cons in sum.types: - self.visit(cons, depth, rust_name) - - def visitConstructor(self, cons, depth, rust_name): - self.gen_extension(cons.name, depth, rust_name) - - def visitProduct(self, product, name, depth): - self.gen_extension(name, depth) - - def gen_extension(self, name, depth, base=""): - rust_name = rust_type_name(name) - self.emit( - f"{json.dumps(name)} => Node{base}{rust_name}::make_class(&vm.ctx),", depth - ) - - -class StdlibTraitImplVisitor(EmitVisitor): - def visitModule(self, mod): - for dfn in mod.dfns: - self.visit(dfn) - - def visitType(self, type, depth=0): - self.visit(type.value, type.name, depth) - - def visitSum(self, sum, name, depth): - info = self.type_info[name] - rust_name = info.full_type_name - - self.emit("// sum", depth) - self.emit(f"impl Node for ast::located::{rust_name} {{", depth) - self.emit( - "fn ast_to_object(self, vm: &VirtualMachine) -> PyObjectRef {", depth + 1 - ) - simple = is_simple(sum) - if simple: - self.emit("let node_type = match self {", depth + 2) - for cons in sum.types: - self.emit( - f"ast::located::{rust_name}::{cons.name} => Node{rust_name}{cons.name}::static_type(),", - depth, - ) - self.emit("};", depth + 3) - self.emit( - "NodeAst.into_ref_with_type(vm, node_type.to_owned()).unwrap().into()", - depth + 2, - ) - else: - self.emit("match self {", depth + 2) - for cons in sum.types: - self.emit( - f"ast::located::{rust_name}::{cons.name}(cons) => cons.ast_to_object(vm),", - depth + 3, - ) - self.emit("}", depth + 2) - - self.emit("}", depth + 1) - self.emit( - "fn ast_from_object(_vm: &VirtualMachine, _object: PyObjectRef) -> PyResult {", - depth + 1, - ) - self.gen_sum_from_object(sum, name, rust_name, depth + 2) - self.emit("}", depth + 1) - self.emit("}", depth) - - if not is_simple(sum): - for cons in sum.types: - self.visit(cons, sum, rust_name, depth) - - def visitConstructor(self, cons, sum, sum_rust_name, depth): - rust_name = rust_type_name(cons.name) - self.emit("// constructor", depth) - self.emit(f"impl Node for ast::located::{sum_rust_name}{rust_name} {{", depth) - - fields_pattern = self.make_pattern(cons.fields) - - self.emit( - "fn ast_to_object(self, _vm: &VirtualMachine) -> PyObjectRef {", depth + 1 - ) - self.emit( - f"let ast::located::{sum_rust_name}{rust_name} {{ {fields_pattern} }} = self;", - depth, - ) - self.make_node(cons.name, sum, cons.fields, depth + 2, sum_rust_name) - - self.emit("}", depth + 1) - - self.emit( - "fn ast_from_object(_vm: &VirtualMachine, _object: PyObjectRef) -> PyResult {", - depth + 1, - ) - - self.gen_product_from_object( - cons, cons.name, f"{sum_rust_name}{rust_name}", sum.attributes, depth + 2 - ) - self.emit("}", depth + 1) - - self.emit("}", depth + 1) - - def visitProduct(self, product, name, depth): - info = self.type_info[name] - struct_name = info.full_type_name - - self.emit("// product", depth) - self.emit(f"impl Node for ast::located::{struct_name} {{", depth) - self.emit( - "fn ast_to_object(self, _vm: &VirtualMachine) -> PyObjectRef {", depth + 1 - ) - fields_pattern = self.make_pattern(product.fields) - self.emit( - f"let ast::located::{struct_name} {{ {fields_pattern} }} = self;", - depth + 2, - ) - self.make_node(name, product, product.fields, depth + 2) - self.emit("}", depth + 1) - self.emit( - "fn ast_from_object(_vm: &VirtualMachine, _object: PyObjectRef) -> PyResult {", - depth + 1, - ) - self.gen_product_from_object( - product, name, struct_name, product.attributes, depth + 2 - ) - self.emit("}", depth + 1) - self.emit("}", depth) - - def make_node(self, variant, owner, fields, depth, base=""): - rust_variant = rust_type_name(variant) - self.emit( - f"let node = NodeAst.into_ref_with_type(_vm, Node{base}{rust_variant}::static_type().to_owned()).unwrap();", - depth, - ) - if fields or owner.attributes: - self.emit("let dict = node.as_object().dict().unwrap();", depth) - for f in fields: - self.emit( - f"dict.set_item({json.dumps(f.name)}, {rust_field(f.name)}.ast_to_object(_vm), _vm).unwrap();", - depth, - ) - if owner.attributes: - self.emit("node_add_location(&dict, _range, _vm);", depth) - self.emit("node.into()", depth) - - def make_pattern(self, fields): - return "".join(f"{rust_field(f.name)}," for f in fields) + "range: _range" - - def gen_sum_from_object(self, sum, sum_name, rust_name, depth): - # if sum.attributes: - # self.extract_location(sum_name, depth) - - self.emit("let _cls = _object.class();", depth) - self.emit("Ok(", depth) - for cons in sum.types: - self.emit( - f"if _cls.is(Node{rust_name}{cons.name}::static_type()) {{", depth - ) - self.emit(f"ast::located::{rust_name}::{cons.name}", depth + 1) - if not is_simple(sum): - self.emit( - f"(ast::located::{rust_name}{cons.name}::ast_from_object(_vm, _object)?)", - depth + 1, - ) - self.emit("} else", depth) - - self.emit("{", depth) - msg = f'format!("expected some sort of {sum_name}, but got {{}}",_object.repr(_vm)?)' - self.emit(f"return Err(_vm.new_type_error({msg}));", depth + 1) - self.emit("})", depth) - - def gen_product_from_object( - self, product, product_name, struct_name, has_attributes, depth - ): - self.emit("Ok(", depth) - self.gen_construction( - struct_name, product, product_name, has_attributes, depth + 1 - ) - self.emit(")", depth) - - def gen_construction_fields(self, cons, name, depth): - for field in cons.fields: - self.emit( - f"{rust_field(field.name)}: {self.decode_field(field, name)},", - depth + 1, - ) - - def gen_construction(self, cons_path, cons, name, attributes, depth): - self.emit(f"ast::located::{cons_path} {{", depth) - self.gen_construction_fields(cons, name, depth + 1) - if attributes: - self.emit(f'range: range_from_object(_vm, _object, "{name}")?,', depth + 1) - else: - self.emit("range: Default::default(),", depth + 1) - self.emit("}", depth) - - def extract_location(self, typename, depth): - row = self.decode_field(asdl.Field("int", "lineno"), typename) - column = self.decode_field(asdl.Field("int", "col_offset"), typename) - self.emit( - f""" - let _location = {{ - let row = {row}; - let column = {column}; - try_location(row, column) - }}; - """, - depth, - ) - - def decode_field(self, field, typename): - name = json.dumps(field.name) - if field.opt and not field.seq: - return f"get_node_field_opt(_vm, &_object, {name})?.map(|obj| Node::ast_from_object(_vm, obj)).transpose()?" - else: - return f"Node::ast_from_object(_vm, get_node_field(_vm, &_object, {name}, {json.dumps(typename)})?)?" - - -class ChainOfVisitors: - def __init__(self, *visitors): - self.visitors = visitors - - def visit(self, object): - for v in self.visitors: - v.visit(object) - v.emit("", 0) - - -def write_ast_def(mod, type_info, f): - f.write("use crate::text_size::TextRange;") - StructVisitor(f, type_info).visit(mod) - - -def write_fold_def(mod, type_info, f): - FoldModuleVisitor(f, type_info).visit(mod) - - -def write_visitor_def(mod, type_info, f): - VisitorModuleVisitor(f, type_info).visit(mod) - - -def write_ranged_def(mod, type_info, f): - RangedDefVisitor(f, type_info).visit(mod) - - -def write_located_def(mod, type_info, f): - LocatedDefVisitor(f, type_info).visit(mod) - - -def write_pyo3_node(type_info, f): - def write(info: TypeInfo, rust_name: str): - if info.is_simple: - generics = "" - else: - generics = "" - - f.write( - f""" - impl{generics} PyNode for ast::{rust_name}{generics} {{ - #[inline] - fn py_type_cache() -> &'static OnceCell<(Py, Py)> {{ - static PY_TYPE: OnceCell<(Py, Py)> = OnceCell::new(); - &PY_TYPE - }} - }} - """, - ) - - for type_name, info in type_info.items(): - rust_name = info.full_type_name - if info.is_custom: - if type_name != info.type.name: - rust_name = "Python" + rust_name - else: - continue - write(info, rust_name) - - -def write_to_pyo3(mod, type_info, f): - write_pyo3_node(type_info, f) - write_to_pyo3_simple(type_info, f) - - for namespace in ("ranged", "located"): - ToPyo3AstVisitor(namespace, f, type_info).visit(mod) - - f.write( - """ - fn init_types(py: Python) -> PyResult<()> { - let ast_module = PyModule::import(py, "_ast")?; - """ - ) - - for info in type_info.values(): - if info.is_custom: - continue - rust_name = info.full_type_name - f.write(f"cache_py_type::(ast_module)?;\n") - f.write("Ok(())\n}") - - -def write_to_pyo3_simple(type_info, f): - for type_info in type_info.values(): - if not type_info.is_sum: - continue - if not type_info.is_simple: - continue - - rust_name = type_info.full_type_name - f.write( - f""" - impl ToPyAst for ast::{rust_name} {{ - #[inline] - fn to_py_ast<'py>(&self, py: Python<'py>) -> PyResult<&'py PyAny> {{ - let cell = match &self {{ - """, - ) - for cons in type_info.type.value.types: - f.write( - f"""ast::{rust_name}::{cons.name} => ast::{rust_name}{cons.name}::py_type_cache(),""", - ) - f.write( - """ - }; - Ok(Py::::as_ref(&cell.get().unwrap().1, py)) - } - } - """, - ) - - -def write_pyo3_wrapper(mod, type_info, namespace, f): - Pyo3StructVisitor(namespace, f, type_info).visit(mod) - - if namespace == "located": - for info in type_info.values(): - if not info.is_simple or not info.is_sum: - continue - - rust_name = info.full_type_name - inner_name = type_info[info.custom.name].full_type_name - f.write( - f""" - impl ToPyWrapper for ast::{inner_name} {{ - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> {{ - match &self {{ - """, - ) - for cons in info.type.value.types: - f.write( - f"Self::{cons.name} => Ok({rust_name}{cons.name}.to_object(py)),", - ) - f.write( - """ - } - } - } - """, - ) - - for cons in info.type.value.types: - f.write( - f""" - impl ToPyWrapper for ast::{rust_name}{cons.name} {{ - #[inline] - fn to_py_wrapper(&self, py: Python) -> PyResult> {{ - Ok({rust_name}{cons.name}.to_object(py)) - }} - }} - """ - ) - - f.write( - """ - pub fn add_to_module(py: Python, m: &PyModule) -> PyResult<()> { - super::init_module(py, m)?; - """ - ) - - Pyo3PymoduleVisitor(namespace, f, type_info).visit(mod) - f.write("Ok(())\n}") - - -def write_parse_def(mod, type_info, f): - for info in type_info.values(): - if info.enum_name not in ["expr", "stmt"]: - continue - - type_name = rust_type_name(info.enum_name) - cons_name = rust_type_name(info.name) - - f.write(f""" - impl Parse for ast::{info.full_type_name} {{ - fn lex_starts_at( - source: &str, - offset: TextSize, - ) -> SoftKeywordTransformer> {{ - ast::{type_name}::lex_starts_at(source, offset) - }} - fn parse_tokens( - lxr: impl IntoIterator, - source_path: &str, - ) -> Result {{ - let node = ast::{type_name}::parse_tokens(lxr, source_path)?; - match node {{ - ast::{type_name}::{cons_name}(node) => Ok(node), - node => Err(ParseError {{ - error: ParseErrorType::InvalidToken, - offset: node.range().start(), - source_path: source_path.to_owned(), - }}), - }} - }} - }} - """) - - -def write_ast_mod(mod, type_info, f): - f.write( - """ - #![allow(clippy::all)] - - use super::*; - use crate::common::ascii; - """ - ) - - c = ChainOfVisitors( - StdlibClassDefVisitor(f, type_info), - StdlibTraitImplVisitor(f, type_info), - StdlibExtendModuleVisitor(f, type_info), - ) - c.visit(mod) - - -def main( - input_filename, - ast_dir, - parser_dir, - ast_pyo3_dir, - module_filename, - dump_module=False, -): - auto_gen_msg = AUTO_GEN_MESSAGE.format("/".join(Path(__file__).parts[-2:])) - mod = asdl.parse(input_filename) - if dump_module: - print("Parsed Module:") - print(mod) - if not asdl.check(mod): - sys.exit(1) - - type_info = {} - FindUserDataTypesVisitor(type_info).visit(mod) - - from functools import partial as p - - for filename, write in [ - ("generic", p(write_ast_def, mod, type_info)), - ("fold", p(write_fold_def, mod, type_info)), - ("ranged", p(write_ranged_def, mod, type_info)), - ("located", p(write_located_def, mod, type_info)), - ("visitor", p(write_visitor_def, mod, type_info)), - ]: - with (ast_dir / f"{filename}.rs").open("w") as f: - f.write(auto_gen_msg) - write(f) - - for filename, write in [ - ("parse", p(write_parse_def, mod, type_info)), - ]: - with (parser_dir / f"{filename}.rs").open("w") as f: - f.write(auto_gen_msg) - write(f) - - - for filename, write in [ - ("to_py_ast", p(write_to_pyo3, mod, type_info)), - ("wrapper_located", p(write_pyo3_wrapper, mod, type_info, "located")), - ("wrapper_ranged", p(write_pyo3_wrapper, mod, type_info, "ranged")), - ]: - with (ast_pyo3_dir / f"{filename}.rs").open("w") as f: - f.write(auto_gen_msg) - write(f) - - with module_filename.open("w") as module_file: - module_file.write(auto_gen_msg) - write_ast_mod(mod, type_info, module_file) - - print(f"{ast_dir}, {module_filename} regenerated.") - - -if __name__ == "__main__": - parser = ArgumentParser() - parser.add_argument("input_file", type=Path) - parser.add_argument("-A", "--ast-dir", type=Path, required=True) - parser.add_argument("-P", "--parser-dir", type=Path, required=True) - parser.add_argument("-O", "--ast-pyo3-dir", type=Path, required=True) - parser.add_argument("-M", "--module-file", type=Path, required=True) - parser.add_argument("-d", "--dump-module", action="store_true") - - args = parser.parse_args() - main( - args.input_file, - args.ast_dir, - args.parser_dir, - args.ast_pyo3_dir, - args.module_file, - args.dump_module, - ) diff --git a/ast/src/builtin.rs b/ast/src/builtin.rs index 1a64efb8..2a8f3f47 100644 --- a/ast/src/builtin.rs +++ b/ast/src/builtin.rs @@ -1,37 +1,46 @@ -//! `builtin_types` in asdl.py and Attributed +//! `builtin_types` in Attributed + +use rustpython_parser_core::text_size::TextRange; use crate::bigint::BigInt; +use crate::Ranged; pub type String = std::string::String; #[derive(Clone, Debug, PartialEq, Eq, Hash)] -pub struct Identifier(String); +pub struct Identifier { + id: String, + range: TextRange, +} impl Identifier { #[inline] - pub fn new(s: impl Into) -> Self { - Self(s.into()) + pub fn new(id: impl Into, range: TextRange) -> Self { + Self { + id: id.into(), + range, + } } } impl Identifier { #[inline] pub fn as_str(&self) -> &str { - self.0.as_str() + self.id.as_str() } } -impl std::cmp::PartialEq for Identifier { +impl PartialEq for Identifier { #[inline] fn eq(&self, other: &str) -> bool { - self.0 == other + self.id == other } } -impl std::cmp::PartialEq for Identifier { +impl PartialEq for Identifier { #[inline] fn eq(&self, other: &String) -> bool { - &self.0 == other + &self.id == other } } @@ -39,48 +48,40 @@ impl std::ops::Deref for Identifier { type Target = str; #[inline] fn deref(&self) -> &Self::Target { - self.0.as_str() + self.id.as_str() } } impl AsRef for Identifier { #[inline] fn as_ref(&self) -> &str { - self.0.as_str() + self.id.as_str() } } impl AsRef for Identifier { #[inline] fn as_ref(&self) -> &String { - &self.0 + &self.id } } impl std::fmt::Display for Identifier { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - self.0.fmt(f) + self.id.fmt(f) } } impl From for String { #[inline] - fn from(id: Identifier) -> String { - id.0 + fn from(identifier: Identifier) -> String { + identifier.id } } -impl From for Identifier { - #[inline] - fn from(id: String) -> Self { - Self(id) - } -} - -impl<'a> From<&'a str> for Identifier { - #[inline] - fn from(id: &'a str) -> Identifier { - id.to_owned().into() +impl Ranged for Identifier { + fn range(&self) -> TextRange { + self.range } } @@ -207,6 +208,7 @@ impl std::fmt::Display for Constant { #[cfg(test)] mod tests { use super::*; + #[test] fn test_is_macro() { let none = Constant::None; diff --git a/ast/src/fold.rs b/ast/src/fold.rs deleted file mode 100644 index ccbcc7bc..00000000 --- a/ast/src/fold.rs +++ /dev/null @@ -1,76 +0,0 @@ -use super::generic::*; - -use crate::{builtin, ConversionFlag}; - -pub trait Foldable { - type Mapped; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result; -} - -impl Foldable for Vec -where - X: Foldable, -{ - type Mapped = Vec; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - self.into_iter().map(|x| x.fold(folder)).collect() - } -} - -impl Foldable for Option -where - X: Foldable, -{ - type Mapped = Option; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - self.map(|x| x.fold(folder)).transpose() - } -} - -impl Foldable for Box -where - X: Foldable, -{ - type Mapped = Box; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - (*self).fold(folder).map(Box::new) - } -} - -macro_rules! simple_fold { - ($($t:ty),+$(,)?) => { - $(impl $crate::fold::Foldable for $t { - type Mapped = Self; - #[inline] - fn fold + ?Sized>( - self, - _folder: &mut F, - ) -> Result { - Ok(self) - } - })+ - }; -} - -simple_fold!( - builtin::Int, - builtin::String, - builtin::Identifier, - bool, - ConversionFlag, - builtin::Constant -); - -include!("gen/fold.rs"); diff --git a/ast/src/gen/fold.rs b/ast/src/gen/fold.rs deleted file mode 100644 index 5fe48e90..00000000 --- a/ast/src/gen/fold.rs +++ /dev/null @@ -1,2821 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -pub trait Fold { - type TargetU; - type Error; - type UserContext; - - fn will_map_user(&mut self, user: &U) -> Self::UserContext; - #[cfg(feature = "all-nodes-with-ranges")] - fn will_map_user_cfg(&mut self, user: &U) -> Self::UserContext { - self.will_map_user(user) - } - #[cfg(not(feature = "all-nodes-with-ranges"))] - fn will_map_user_cfg( - &mut self, - _user: &crate::EmptyRange, - ) -> crate::EmptyRange { - crate::EmptyRange::default() - } - fn map_user( - &mut self, - user: U, - context: Self::UserContext, - ) -> Result; - #[cfg(feature = "all-nodes-with-ranges")] - fn map_user_cfg( - &mut self, - user: U, - context: Self::UserContext, - ) -> Result { - self.map_user(user, context) - } - #[cfg(not(feature = "all-nodes-with-ranges"))] - fn map_user_cfg( - &mut self, - _user: crate::EmptyRange, - _context: crate::EmptyRange, - ) -> Result, Self::Error> { - Ok(crate::EmptyRange::default()) - } - - fn fold>(&mut self, node: X) -> Result { - node.fold(self) - } - fn fold_mod(&mut self, node: Mod) -> Result, Self::Error> { - fold_mod(self, node) - } - fn fold_mod_module( - &mut self, - node: ModModule, - ) -> Result, Self::Error> { - fold_mod_module(self, node) - } - fn fold_mod_interactive( - &mut self, - node: ModInteractive, - ) -> Result, Self::Error> { - fold_mod_interactive(self, node) - } - fn fold_mod_expression( - &mut self, - node: ModExpression, - ) -> Result, Self::Error> { - fold_mod_expression(self, node) - } - fn fold_mod_function_type( - &mut self, - node: ModFunctionType, - ) -> Result, Self::Error> { - fold_mod_function_type(self, node) - } - fn fold_stmt(&mut self, node: Stmt) -> Result, Self::Error> { - fold_stmt(self, node) - } - fn fold_stmt_function_def( - &mut self, - node: StmtFunctionDef, - ) -> Result, Self::Error> { - fold_stmt_function_def(self, node) - } - fn fold_stmt_async_function_def( - &mut self, - node: StmtAsyncFunctionDef, - ) -> Result, Self::Error> { - fold_stmt_async_function_def(self, node) - } - fn fold_stmt_class_def( - &mut self, - node: StmtClassDef, - ) -> Result, Self::Error> { - fold_stmt_class_def(self, node) - } - fn fold_stmt_return( - &mut self, - node: StmtReturn, - ) -> Result, Self::Error> { - fold_stmt_return(self, node) - } - fn fold_stmt_delete( - &mut self, - node: StmtDelete, - ) -> Result, Self::Error> { - fold_stmt_delete(self, node) - } - fn fold_stmt_assign( - &mut self, - node: StmtAssign, - ) -> Result, Self::Error> { - fold_stmt_assign(self, node) - } - fn fold_stmt_aug_assign( - &mut self, - node: StmtAugAssign, - ) -> Result, Self::Error> { - fold_stmt_aug_assign(self, node) - } - fn fold_stmt_ann_assign( - &mut self, - node: StmtAnnAssign, - ) -> Result, Self::Error> { - fold_stmt_ann_assign(self, node) - } - fn fold_stmt_for(&mut self, node: StmtFor) -> Result, Self::Error> { - fold_stmt_for(self, node) - } - fn fold_stmt_async_for( - &mut self, - node: StmtAsyncFor, - ) -> Result, Self::Error> { - fold_stmt_async_for(self, node) - } - fn fold_stmt_while( - &mut self, - node: StmtWhile, - ) -> Result, Self::Error> { - fold_stmt_while(self, node) - } - fn fold_stmt_if(&mut self, node: StmtIf) -> Result, Self::Error> { - fold_stmt_if(self, node) - } - fn fold_stmt_with( - &mut self, - node: StmtWith, - ) -> Result, Self::Error> { - fold_stmt_with(self, node) - } - fn fold_stmt_async_with( - &mut self, - node: StmtAsyncWith, - ) -> Result, Self::Error> { - fold_stmt_async_with(self, node) - } - fn fold_stmt_match( - &mut self, - node: StmtMatch, - ) -> Result, Self::Error> { - fold_stmt_match(self, node) - } - fn fold_stmt_raise( - &mut self, - node: StmtRaise, - ) -> Result, Self::Error> { - fold_stmt_raise(self, node) - } - fn fold_stmt_try(&mut self, node: StmtTry) -> Result, Self::Error> { - fold_stmt_try(self, node) - } - fn fold_stmt_try_star( - &mut self, - node: StmtTryStar, - ) -> Result, Self::Error> { - fold_stmt_try_star(self, node) - } - fn fold_stmt_assert( - &mut self, - node: StmtAssert, - ) -> Result, Self::Error> { - fold_stmt_assert(self, node) - } - fn fold_stmt_import( - &mut self, - node: StmtImport, - ) -> Result, Self::Error> { - fold_stmt_import(self, node) - } - fn fold_stmt_import_from( - &mut self, - node: StmtImportFrom, - ) -> Result, Self::Error> { - fold_stmt_import_from(self, node) - } - fn fold_stmt_global( - &mut self, - node: StmtGlobal, - ) -> Result, Self::Error> { - fold_stmt_global(self, node) - } - fn fold_stmt_nonlocal( - &mut self, - node: StmtNonlocal, - ) -> Result, Self::Error> { - fold_stmt_nonlocal(self, node) - } - fn fold_stmt_expr( - &mut self, - node: StmtExpr, - ) -> Result, Self::Error> { - fold_stmt_expr(self, node) - } - fn fold_stmt_pass( - &mut self, - node: StmtPass, - ) -> Result, Self::Error> { - fold_stmt_pass(self, node) - } - fn fold_stmt_break( - &mut self, - node: StmtBreak, - ) -> Result, Self::Error> { - fold_stmt_break(self, node) - } - fn fold_stmt_continue( - &mut self, - node: StmtContinue, - ) -> Result, Self::Error> { - fold_stmt_continue(self, node) - } - fn fold_expr(&mut self, node: Expr) -> Result, Self::Error> { - fold_expr(self, node) - } - fn fold_expr_bool_op( - &mut self, - node: ExprBoolOp, - ) -> Result, Self::Error> { - fold_expr_bool_op(self, node) - } - fn fold_expr_named_expr( - &mut self, - node: ExprNamedExpr, - ) -> Result, Self::Error> { - fold_expr_named_expr(self, node) - } - fn fold_expr_bin_op( - &mut self, - node: ExprBinOp, - ) -> Result, Self::Error> { - fold_expr_bin_op(self, node) - } - fn fold_expr_unary_op( - &mut self, - node: ExprUnaryOp, - ) -> Result, Self::Error> { - fold_expr_unary_op(self, node) - } - fn fold_expr_lambda( - &mut self, - node: ExprLambda, - ) -> Result, Self::Error> { - fold_expr_lambda(self, node) - } - fn fold_expr_if_exp( - &mut self, - node: ExprIfExp, - ) -> Result, Self::Error> { - fold_expr_if_exp(self, node) - } - fn fold_expr_dict( - &mut self, - node: ExprDict, - ) -> Result, Self::Error> { - fold_expr_dict(self, node) - } - fn fold_expr_set(&mut self, node: ExprSet) -> Result, Self::Error> { - fold_expr_set(self, node) - } - fn fold_expr_list_comp( - &mut self, - node: ExprListComp, - ) -> Result, Self::Error> { - fold_expr_list_comp(self, node) - } - fn fold_expr_set_comp( - &mut self, - node: ExprSetComp, - ) -> Result, Self::Error> { - fold_expr_set_comp(self, node) - } - fn fold_expr_dict_comp( - &mut self, - node: ExprDictComp, - ) -> Result, Self::Error> { - fold_expr_dict_comp(self, node) - } - fn fold_expr_generator_exp( - &mut self, - node: ExprGeneratorExp, - ) -> Result, Self::Error> { - fold_expr_generator_exp(self, node) - } - fn fold_expr_await( - &mut self, - node: ExprAwait, - ) -> Result, Self::Error> { - fold_expr_await(self, node) - } - fn fold_expr_yield( - &mut self, - node: ExprYield, - ) -> Result, Self::Error> { - fold_expr_yield(self, node) - } - fn fold_expr_yield_from( - &mut self, - node: ExprYieldFrom, - ) -> Result, Self::Error> { - fold_expr_yield_from(self, node) - } - fn fold_expr_compare( - &mut self, - node: ExprCompare, - ) -> Result, Self::Error> { - fold_expr_compare(self, node) - } - fn fold_expr_call( - &mut self, - node: ExprCall, - ) -> Result, Self::Error> { - fold_expr_call(self, node) - } - fn fold_expr_formatted_value( - &mut self, - node: ExprFormattedValue, - ) -> Result, Self::Error> { - fold_expr_formatted_value(self, node) - } - fn fold_expr_joined_str( - &mut self, - node: ExprJoinedStr, - ) -> Result, Self::Error> { - fold_expr_joined_str(self, node) - } - fn fold_expr_constant( - &mut self, - node: ExprConstant, - ) -> Result, Self::Error> { - fold_expr_constant(self, node) - } - fn fold_expr_attribute( - &mut self, - node: ExprAttribute, - ) -> Result, Self::Error> { - fold_expr_attribute(self, node) - } - fn fold_expr_subscript( - &mut self, - node: ExprSubscript, - ) -> Result, Self::Error> { - fold_expr_subscript(self, node) - } - fn fold_expr_starred( - &mut self, - node: ExprStarred, - ) -> Result, Self::Error> { - fold_expr_starred(self, node) - } - fn fold_expr_name( - &mut self, - node: ExprName, - ) -> Result, Self::Error> { - fold_expr_name(self, node) - } - fn fold_expr_list( - &mut self, - node: ExprList, - ) -> Result, Self::Error> { - fold_expr_list(self, node) - } - fn fold_expr_tuple( - &mut self, - node: ExprTuple, - ) -> Result, Self::Error> { - fold_expr_tuple(self, node) - } - fn fold_expr_slice( - &mut self, - node: ExprSlice, - ) -> Result, Self::Error> { - fold_expr_slice(self, node) - } - fn fold_expr_context(&mut self, node: ExprContext) -> Result { - fold_expr_context(self, node) - } - fn fold_boolop(&mut self, node: BoolOp) -> Result { - fold_boolop(self, node) - } - fn fold_operator(&mut self, node: Operator) -> Result { - fold_operator(self, node) - } - fn fold_unaryop(&mut self, node: UnaryOp) -> Result { - fold_unaryop(self, node) - } - fn fold_cmpop(&mut self, node: CmpOp) -> Result { - fold_cmpop(self, node) - } - fn fold_comprehension( - &mut self, - node: Comprehension, - ) -> Result, Self::Error> { - fold_comprehension(self, node) - } - fn fold_excepthandler( - &mut self, - node: ExceptHandler, - ) -> Result, Self::Error> { - fold_excepthandler(self, node) - } - fn fold_excepthandler_except_handler( - &mut self, - node: ExceptHandlerExceptHandler, - ) -> Result, Self::Error> { - fold_excepthandler_except_handler(self, node) - } - fn fold_arguments( - &mut self, - node: Arguments, - ) -> Result, Self::Error> { - fold_arguments(self, node) - } - fn fold_arg(&mut self, node: Arg) -> Result, Self::Error> { - fold_arg(self, node) - } - fn fold_keyword(&mut self, node: Keyword) -> Result, Self::Error> { - fold_keyword(self, node) - } - fn fold_alias(&mut self, node: Alias) -> Result, Self::Error> { - fold_alias(self, node) - } - fn fold_withitem(&mut self, node: WithItem) -> Result, Self::Error> { - fold_withitem(self, node) - } - fn fold_match_case( - &mut self, - node: MatchCase, - ) -> Result, Self::Error> { - fold_match_case(self, node) - } - fn fold_pattern(&mut self, node: Pattern) -> Result, Self::Error> { - fold_pattern(self, node) - } - fn fold_pattern_match_value( - &mut self, - node: PatternMatchValue, - ) -> Result, Self::Error> { - fold_pattern_match_value(self, node) - } - fn fold_pattern_match_singleton( - &mut self, - node: PatternMatchSingleton, - ) -> Result, Self::Error> { - fold_pattern_match_singleton(self, node) - } - fn fold_pattern_match_sequence( - &mut self, - node: PatternMatchSequence, - ) -> Result, Self::Error> { - fold_pattern_match_sequence(self, node) - } - fn fold_pattern_match_mapping( - &mut self, - node: PatternMatchMapping, - ) -> Result, Self::Error> { - fold_pattern_match_mapping(self, node) - } - fn fold_pattern_match_class( - &mut self, - node: PatternMatchClass, - ) -> Result, Self::Error> { - fold_pattern_match_class(self, node) - } - fn fold_pattern_match_star( - &mut self, - node: PatternMatchStar, - ) -> Result, Self::Error> { - fold_pattern_match_star(self, node) - } - fn fold_pattern_match_as( - &mut self, - node: PatternMatchAs, - ) -> Result, Self::Error> { - fold_pattern_match_as(self, node) - } - fn fold_pattern_match_or( - &mut self, - node: PatternMatchOr, - ) -> Result, Self::Error> { - fold_pattern_match_or(self, node) - } - fn fold_type_ignore( - &mut self, - node: TypeIgnore, - ) -> Result, Self::Error> { - fold_type_ignore(self, node) - } - fn fold_type_ignore_type_ignore( - &mut self, - node: TypeIgnoreTypeIgnore, - ) -> Result, Self::Error> { - fold_type_ignore_type_ignore(self, node) - } - fn fold_arg_with_default( - &mut self, - node: ArgWithDefault, - ) -> Result, Self::Error> { - fold_arg_with_default(self, node) - } -} -impl Foldable for Mod { - type Mapped = Mod; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_mod(self) - } -} -pub fn fold_mod + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Mod, -) -> Result, F::Error> { - let folded = match node { - Mod::Module(cons) => Mod::Module(Foldable::fold(cons, folder)?), - Mod::Interactive(cons) => Mod::Interactive(Foldable::fold(cons, folder)?), - Mod::Expression(cons) => Mod::Expression(Foldable::fold(cons, folder)?), - Mod::FunctionType(cons) => Mod::FunctionType(Foldable::fold(cons, folder)?), - }; - Ok(folded) -} -impl Foldable for ModModule { - type Mapped = ModModule; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_mod_module(self) - } -} -pub fn fold_mod_module + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ModModule, -) -> Result, F::Error> { - let ModModule { - body, - type_ignores, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - - let body = Foldable::fold(body, folder)?; - let type_ignores = Foldable::fold(type_ignores, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(ModModule { - body, - type_ignores, - range, - }) -} -impl Foldable for ModInteractive { - type Mapped = ModInteractive; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_mod_interactive(self) - } -} -pub fn fold_mod_interactive + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ModInteractive, -) -> Result, F::Error> { - let ModInteractive { body, range } = node; - let context = folder.will_map_user_cfg(&range); - - let body = Foldable::fold(body, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(ModInteractive { body, range }) -} -impl Foldable for ModExpression { - type Mapped = ModExpression; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_mod_expression(self) - } -} -pub fn fold_mod_expression + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ModExpression, -) -> Result, F::Error> { - let ModExpression { body, range } = node; - let context = folder.will_map_user_cfg(&range); - - let body = Foldable::fold(body, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(ModExpression { body, range }) -} -impl Foldable for ModFunctionType { - type Mapped = ModFunctionType; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_mod_function_type(self) - } -} -pub fn fold_mod_function_type + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ModFunctionType, -) -> Result, F::Error> { - let ModFunctionType { - argtypes, - returns, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - - let argtypes = Foldable::fold(argtypes, folder)?; - let returns = Foldable::fold(returns, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(ModFunctionType { - argtypes, - returns, - range, - }) -} -impl Foldable for Stmt { - type Mapped = Stmt; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt(self) - } -} -pub fn fold_stmt + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Stmt, -) -> Result, F::Error> { - let folded = match node { - Stmt::FunctionDef(cons) => Stmt::FunctionDef(Foldable::fold(cons, folder)?), - Stmt::AsyncFunctionDef(cons) => Stmt::AsyncFunctionDef(Foldable::fold(cons, folder)?), - Stmt::ClassDef(cons) => Stmt::ClassDef(Foldable::fold(cons, folder)?), - Stmt::Return(cons) => Stmt::Return(Foldable::fold(cons, folder)?), - Stmt::Delete(cons) => Stmt::Delete(Foldable::fold(cons, folder)?), - Stmt::Assign(cons) => Stmt::Assign(Foldable::fold(cons, folder)?), - Stmt::AugAssign(cons) => Stmt::AugAssign(Foldable::fold(cons, folder)?), - Stmt::AnnAssign(cons) => Stmt::AnnAssign(Foldable::fold(cons, folder)?), - Stmt::For(cons) => Stmt::For(Foldable::fold(cons, folder)?), - Stmt::AsyncFor(cons) => Stmt::AsyncFor(Foldable::fold(cons, folder)?), - Stmt::While(cons) => Stmt::While(Foldable::fold(cons, folder)?), - Stmt::If(cons) => Stmt::If(Foldable::fold(cons, folder)?), - Stmt::With(cons) => Stmt::With(Foldable::fold(cons, folder)?), - Stmt::AsyncWith(cons) => Stmt::AsyncWith(Foldable::fold(cons, folder)?), - Stmt::Match(cons) => Stmt::Match(Foldable::fold(cons, folder)?), - Stmt::Raise(cons) => Stmt::Raise(Foldable::fold(cons, folder)?), - Stmt::Try(cons) => Stmt::Try(Foldable::fold(cons, folder)?), - Stmt::TryStar(cons) => Stmt::TryStar(Foldable::fold(cons, folder)?), - Stmt::Assert(cons) => Stmt::Assert(Foldable::fold(cons, folder)?), - Stmt::Import(cons) => Stmt::Import(Foldable::fold(cons, folder)?), - Stmt::ImportFrom(cons) => Stmt::ImportFrom(Foldable::fold(cons, folder)?), - Stmt::Global(cons) => Stmt::Global(Foldable::fold(cons, folder)?), - Stmt::Nonlocal(cons) => Stmt::Nonlocal(Foldable::fold(cons, folder)?), - Stmt::Expr(cons) => Stmt::Expr(Foldable::fold(cons, folder)?), - Stmt::Pass(cons) => Stmt::Pass(Foldable::fold(cons, folder)?), - Stmt::Break(cons) => Stmt::Break(Foldable::fold(cons, folder)?), - Stmt::Continue(cons) => Stmt::Continue(Foldable::fold(cons, folder)?), - }; - Ok(folded) -} -impl Foldable for StmtFunctionDef { - type Mapped = StmtFunctionDef; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_function_def(self) - } -} -pub fn fold_stmt_function_def + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtFunctionDef, -) -> Result, F::Error> { - let StmtFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let name = Foldable::fold(name, folder)?; - let args = Foldable::fold(args, folder)?; - let body = Foldable::fold(body, folder)?; - let decorator_list = Foldable::fold(decorator_list, folder)?; - let returns = Foldable::fold(returns, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - }) -} -impl Foldable for StmtAsyncFunctionDef { - type Mapped = StmtAsyncFunctionDef; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_async_function_def(self) - } -} -pub fn fold_stmt_async_function_def + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAsyncFunctionDef, -) -> Result, F::Error> { - let StmtAsyncFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let name = Foldable::fold(name, folder)?; - let args = Foldable::fold(args, folder)?; - let body = Foldable::fold(body, folder)?; - let decorator_list = Foldable::fold(decorator_list, folder)?; - let returns = Foldable::fold(returns, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAsyncFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - }) -} -impl Foldable for StmtClassDef { - type Mapped = StmtClassDef; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_class_def(self) - } -} -pub fn fold_stmt_class_def + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtClassDef, -) -> Result, F::Error> { - let StmtClassDef { - name, - bases, - keywords, - body, - decorator_list, - range, - } = node; - let context = folder.will_map_user(&range); - - let name = Foldable::fold(name, folder)?; - let bases = Foldable::fold(bases, folder)?; - let keywords = Foldable::fold(keywords, folder)?; - let body = Foldable::fold(body, folder)?; - let decorator_list = Foldable::fold(decorator_list, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtClassDef { - name, - bases, - keywords, - body, - decorator_list, - range, - }) -} -impl Foldable for StmtReturn { - type Mapped = StmtReturn; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_return(self) - } -} -pub fn fold_stmt_return + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtReturn, -) -> Result, F::Error> { - let StmtReturn { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtReturn { value, range }) -} -impl Foldable for StmtDelete { - type Mapped = StmtDelete; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_delete(self) - } -} -pub fn fold_stmt_delete + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtDelete, -) -> Result, F::Error> { - let StmtDelete { targets, range } = node; - let context = folder.will_map_user(&range); - - let targets = Foldable::fold(targets, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtDelete { targets, range }) -} -impl Foldable for StmtAssign { - type Mapped = StmtAssign; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_assign(self) - } -} -pub fn fold_stmt_assign + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAssign, -) -> Result, F::Error> { - let StmtAssign { - targets, - value, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let targets = Foldable::fold(targets, folder)?; - let value = Foldable::fold(value, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAssign { - targets, - value, - type_comment, - range, - }) -} -impl Foldable for StmtAugAssign { - type Mapped = StmtAugAssign; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_aug_assign(self) - } -} -pub fn fold_stmt_aug_assign + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAugAssign, -) -> Result, F::Error> { - let StmtAugAssign { - target, - op, - value, - range, - } = node; - let context = folder.will_map_user(&range); - - let target = Foldable::fold(target, folder)?; - let op = Foldable::fold(op, folder)?; - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAugAssign { - target, - op, - value, - range, - }) -} -impl Foldable for StmtAnnAssign { - type Mapped = StmtAnnAssign; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_ann_assign(self) - } -} -pub fn fold_stmt_ann_assign + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAnnAssign, -) -> Result, F::Error> { - let StmtAnnAssign { - target, - annotation, - value, - simple, - range, - } = node; - let context = folder.will_map_user(&range); - - let target = Foldable::fold(target, folder)?; - let annotation = Foldable::fold(annotation, folder)?; - let value = Foldable::fold(value, folder)?; - let simple = Foldable::fold(simple, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAnnAssign { - target, - annotation, - value, - simple, - range, - }) -} -impl Foldable for StmtFor { - type Mapped = StmtFor; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_for(self) - } -} -pub fn fold_stmt_for + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtFor, -) -> Result, F::Error> { - let StmtFor { - target, - iter, - body, - orelse, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let target = Foldable::fold(target, folder)?; - let iter = Foldable::fold(iter, folder)?; - let body = Foldable::fold(body, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtFor { - target, - iter, - body, - orelse, - type_comment, - range, - }) -} -impl Foldable for StmtAsyncFor { - type Mapped = StmtAsyncFor; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_async_for(self) - } -} -pub fn fold_stmt_async_for + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAsyncFor, -) -> Result, F::Error> { - let StmtAsyncFor { - target, - iter, - body, - orelse, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let target = Foldable::fold(target, folder)?; - let iter = Foldable::fold(iter, folder)?; - let body = Foldable::fold(body, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAsyncFor { - target, - iter, - body, - orelse, - type_comment, - range, - }) -} -impl Foldable for StmtWhile { - type Mapped = StmtWhile; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_while(self) - } -} -pub fn fold_stmt_while + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtWhile, -) -> Result, F::Error> { - let StmtWhile { - test, - body, - orelse, - range, - } = node; - let context = folder.will_map_user(&range); - - let test = Foldable::fold(test, folder)?; - let body = Foldable::fold(body, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtWhile { - test, - body, - orelse, - range, - }) -} -impl Foldable for StmtIf { - type Mapped = StmtIf; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_if(self) - } -} -pub fn fold_stmt_if + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtIf, -) -> Result, F::Error> { - let StmtIf { - test, - body, - orelse, - range, - } = node; - let context = folder.will_map_user(&range); - - let test = Foldable::fold(test, folder)?; - let body = Foldable::fold(body, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtIf { - test, - body, - orelse, - range, - }) -} -impl Foldable for StmtWith { - type Mapped = StmtWith; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_with(self) - } -} -pub fn fold_stmt_with + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtWith, -) -> Result, F::Error> { - let StmtWith { - items, - body, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let items = Foldable::fold(items, folder)?; - let body = Foldable::fold(body, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtWith { - items, - body, - type_comment, - range, - }) -} -impl Foldable for StmtAsyncWith { - type Mapped = StmtAsyncWith; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_async_with(self) - } -} -pub fn fold_stmt_async_with + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAsyncWith, -) -> Result, F::Error> { - let StmtAsyncWith { - items, - body, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - - let items = Foldable::fold(items, folder)?; - let body = Foldable::fold(body, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAsyncWith { - items, - body, - type_comment, - range, - }) -} -impl Foldable for StmtMatch { - type Mapped = StmtMatch; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_match(self) - } -} -pub fn fold_stmt_match + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtMatch, -) -> Result, F::Error> { - let StmtMatch { - subject, - cases, - range, - } = node; - let context = folder.will_map_user(&range); - - let subject = Foldable::fold(subject, folder)?; - let cases = Foldable::fold(cases, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtMatch { - subject, - cases, - range, - }) -} -impl Foldable for StmtRaise { - type Mapped = StmtRaise; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_raise(self) - } -} -pub fn fold_stmt_raise + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtRaise, -) -> Result, F::Error> { - let StmtRaise { exc, cause, range } = node; - let context = folder.will_map_user(&range); - - let exc = Foldable::fold(exc, folder)?; - let cause = Foldable::fold(cause, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtRaise { exc, cause, range }) -} -impl Foldable for StmtTry { - type Mapped = StmtTry; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_try(self) - } -} -pub fn fold_stmt_try + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtTry, -) -> Result, F::Error> { - let StmtTry { - body, - handlers, - orelse, - finalbody, - range, - } = node; - let context = folder.will_map_user(&range); - - let body = Foldable::fold(body, folder)?; - let handlers = Foldable::fold(handlers, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let finalbody = Foldable::fold(finalbody, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtTry { - body, - handlers, - orelse, - finalbody, - range, - }) -} -impl Foldable for StmtTryStar { - type Mapped = StmtTryStar; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_try_star(self) - } -} -pub fn fold_stmt_try_star + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtTryStar, -) -> Result, F::Error> { - let StmtTryStar { - body, - handlers, - orelse, - finalbody, - range, - } = node; - let context = folder.will_map_user(&range); - - let body = Foldable::fold(body, folder)?; - let handlers = Foldable::fold(handlers, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let finalbody = Foldable::fold(finalbody, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtTryStar { - body, - handlers, - orelse, - finalbody, - range, - }) -} -impl Foldable for StmtAssert { - type Mapped = StmtAssert; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_assert(self) - } -} -pub fn fold_stmt_assert + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtAssert, -) -> Result, F::Error> { - let StmtAssert { test, msg, range } = node; - let context = folder.will_map_user(&range); - - let test = Foldable::fold(test, folder)?; - let msg = Foldable::fold(msg, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtAssert { test, msg, range }) -} -impl Foldable for StmtImport { - type Mapped = StmtImport; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_import(self) - } -} -pub fn fold_stmt_import + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtImport, -) -> Result, F::Error> { - let StmtImport { names, range } = node; - let context = folder.will_map_user(&range); - - let names = Foldable::fold(names, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtImport { names, range }) -} -impl Foldable for StmtImportFrom { - type Mapped = StmtImportFrom; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_import_from(self) - } -} -pub fn fold_stmt_import_from + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtImportFrom, -) -> Result, F::Error> { - let StmtImportFrom { - module, - names, - level, - range, - } = node; - let context = folder.will_map_user(&range); - - let module = Foldable::fold(module, folder)?; - let names = Foldable::fold(names, folder)?; - let level = Foldable::fold(level, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtImportFrom { - module, - names, - level, - range, - }) -} -impl Foldable for StmtGlobal { - type Mapped = StmtGlobal; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_global(self) - } -} -pub fn fold_stmt_global + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtGlobal, -) -> Result, F::Error> { - let StmtGlobal { names, range } = node; - let context = folder.will_map_user(&range); - - let names = Foldable::fold(names, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtGlobal { names, range }) -} -impl Foldable for StmtNonlocal { - type Mapped = StmtNonlocal; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_nonlocal(self) - } -} -pub fn fold_stmt_nonlocal + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtNonlocal, -) -> Result, F::Error> { - let StmtNonlocal { names, range } = node; - let context = folder.will_map_user(&range); - - let names = Foldable::fold(names, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtNonlocal { names, range }) -} -impl Foldable for StmtExpr { - type Mapped = StmtExpr; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_expr(self) - } -} -pub fn fold_stmt_expr + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtExpr, -) -> Result, F::Error> { - let StmtExpr { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(StmtExpr { value, range }) -} -impl Foldable for StmtPass { - type Mapped = StmtPass; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_pass(self) - } -} -pub fn fold_stmt_pass + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtPass, -) -> Result, F::Error> { - let StmtPass { range } = node; - let context = folder.will_map_user(&range); - - let range = folder.map_user(range, context)?; - Ok(StmtPass { range }) -} -impl Foldable for StmtBreak { - type Mapped = StmtBreak; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_break(self) - } -} -pub fn fold_stmt_break + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtBreak, -) -> Result, F::Error> { - let StmtBreak { range } = node; - let context = folder.will_map_user(&range); - - let range = folder.map_user(range, context)?; - Ok(StmtBreak { range }) -} -impl Foldable for StmtContinue { - type Mapped = StmtContinue; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_stmt_continue(self) - } -} -pub fn fold_stmt_continue + ?Sized>( - #[allow(unused)] folder: &mut F, - node: StmtContinue, -) -> Result, F::Error> { - let StmtContinue { range } = node; - let context = folder.will_map_user(&range); - - let range = folder.map_user(range, context)?; - Ok(StmtContinue { range }) -} -impl Foldable for Expr { - type Mapped = Expr; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr(self) - } -} -pub fn fold_expr + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Expr, -) -> Result, F::Error> { - let folded = match node { - Expr::BoolOp(cons) => Expr::BoolOp(Foldable::fold(cons, folder)?), - Expr::NamedExpr(cons) => Expr::NamedExpr(Foldable::fold(cons, folder)?), - Expr::BinOp(cons) => Expr::BinOp(Foldable::fold(cons, folder)?), - Expr::UnaryOp(cons) => Expr::UnaryOp(Foldable::fold(cons, folder)?), - Expr::Lambda(cons) => Expr::Lambda(Foldable::fold(cons, folder)?), - Expr::IfExp(cons) => Expr::IfExp(Foldable::fold(cons, folder)?), - Expr::Dict(cons) => Expr::Dict(Foldable::fold(cons, folder)?), - Expr::Set(cons) => Expr::Set(Foldable::fold(cons, folder)?), - Expr::ListComp(cons) => Expr::ListComp(Foldable::fold(cons, folder)?), - Expr::SetComp(cons) => Expr::SetComp(Foldable::fold(cons, folder)?), - Expr::DictComp(cons) => Expr::DictComp(Foldable::fold(cons, folder)?), - Expr::GeneratorExp(cons) => Expr::GeneratorExp(Foldable::fold(cons, folder)?), - Expr::Await(cons) => Expr::Await(Foldable::fold(cons, folder)?), - Expr::Yield(cons) => Expr::Yield(Foldable::fold(cons, folder)?), - Expr::YieldFrom(cons) => Expr::YieldFrom(Foldable::fold(cons, folder)?), - Expr::Compare(cons) => Expr::Compare(Foldable::fold(cons, folder)?), - Expr::Call(cons) => Expr::Call(Foldable::fold(cons, folder)?), - Expr::FormattedValue(cons) => Expr::FormattedValue(Foldable::fold(cons, folder)?), - Expr::JoinedStr(cons) => Expr::JoinedStr(Foldable::fold(cons, folder)?), - Expr::Constant(cons) => Expr::Constant(Foldable::fold(cons, folder)?), - Expr::Attribute(cons) => Expr::Attribute(Foldable::fold(cons, folder)?), - Expr::Subscript(cons) => Expr::Subscript(Foldable::fold(cons, folder)?), - Expr::Starred(cons) => Expr::Starred(Foldable::fold(cons, folder)?), - Expr::Name(cons) => Expr::Name(Foldable::fold(cons, folder)?), - Expr::List(cons) => Expr::List(Foldable::fold(cons, folder)?), - Expr::Tuple(cons) => Expr::Tuple(Foldable::fold(cons, folder)?), - Expr::Slice(cons) => Expr::Slice(Foldable::fold(cons, folder)?), - }; - Ok(folded) -} -impl Foldable for ExprBoolOp { - type Mapped = ExprBoolOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_bool_op(self) - } -} -pub fn fold_expr_bool_op + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprBoolOp, -) -> Result, F::Error> { - let ExprBoolOp { op, values, range } = node; - let context = folder.will_map_user(&range); - - let op = Foldable::fold(op, folder)?; - let values = Foldable::fold(values, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprBoolOp { op, values, range }) -} -impl Foldable for ExprNamedExpr { - type Mapped = ExprNamedExpr; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_named_expr(self) - } -} -pub fn fold_expr_named_expr + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprNamedExpr, -) -> Result, F::Error> { - let ExprNamedExpr { - target, - value, - range, - } = node; - let context = folder.will_map_user(&range); - - let target = Foldable::fold(target, folder)?; - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprNamedExpr { - target, - value, - range, - }) -} -impl Foldable for ExprBinOp { - type Mapped = ExprBinOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_bin_op(self) - } -} -pub fn fold_expr_bin_op + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprBinOp, -) -> Result, F::Error> { - let ExprBinOp { - left, - op, - right, - range, - } = node; - let context = folder.will_map_user(&range); - - let left = Foldable::fold(left, folder)?; - let op = Foldable::fold(op, folder)?; - let right = Foldable::fold(right, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprBinOp { - left, - op, - right, - range, - }) -} -impl Foldable for ExprUnaryOp { - type Mapped = ExprUnaryOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_unary_op(self) - } -} -pub fn fold_expr_unary_op + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprUnaryOp, -) -> Result, F::Error> { - let ExprUnaryOp { op, operand, range } = node; - let context = folder.will_map_user(&range); - - let op = Foldable::fold(op, folder)?; - let operand = Foldable::fold(operand, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprUnaryOp { op, operand, range }) -} -impl Foldable for ExprLambda { - type Mapped = ExprLambda; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_lambda(self) - } -} -pub fn fold_expr_lambda + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprLambda, -) -> Result, F::Error> { - let ExprLambda { args, body, range } = node; - let context = folder.will_map_user(&range); - - let args = Foldable::fold(args, folder)?; - let body = Foldable::fold(body, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprLambda { args, body, range }) -} -impl Foldable for ExprIfExp { - type Mapped = ExprIfExp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_if_exp(self) - } -} -pub fn fold_expr_if_exp + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprIfExp, -) -> Result, F::Error> { - let ExprIfExp { - test, - body, - orelse, - range, - } = node; - let context = folder.will_map_user(&range); - - let test = Foldable::fold(test, folder)?; - let body = Foldable::fold(body, folder)?; - let orelse = Foldable::fold(orelse, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprIfExp { - test, - body, - orelse, - range, - }) -} -impl Foldable for ExprDict { - type Mapped = ExprDict; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_dict(self) - } -} -pub fn fold_expr_dict + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprDict, -) -> Result, F::Error> { - let ExprDict { - keys, - values, - range, - } = node; - let context = folder.will_map_user(&range); - - let keys = Foldable::fold(keys, folder)?; - let values = Foldable::fold(values, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprDict { - keys, - values, - range, - }) -} -impl Foldable for ExprSet { - type Mapped = ExprSet; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_set(self) - } -} -pub fn fold_expr_set + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprSet, -) -> Result, F::Error> { - let ExprSet { elts, range } = node; - let context = folder.will_map_user(&range); - - let elts = Foldable::fold(elts, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprSet { elts, range }) -} -impl Foldable for ExprListComp { - type Mapped = ExprListComp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_list_comp(self) - } -} -pub fn fold_expr_list_comp + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprListComp, -) -> Result, F::Error> { - let ExprListComp { - elt, - generators, - range, - } = node; - let context = folder.will_map_user(&range); - - let elt = Foldable::fold(elt, folder)?; - let generators = Foldable::fold(generators, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprListComp { - elt, - generators, - range, - }) -} -impl Foldable for ExprSetComp { - type Mapped = ExprSetComp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_set_comp(self) - } -} -pub fn fold_expr_set_comp + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprSetComp, -) -> Result, F::Error> { - let ExprSetComp { - elt, - generators, - range, - } = node; - let context = folder.will_map_user(&range); - - let elt = Foldable::fold(elt, folder)?; - let generators = Foldable::fold(generators, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprSetComp { - elt, - generators, - range, - }) -} -impl Foldable for ExprDictComp { - type Mapped = ExprDictComp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_dict_comp(self) - } -} -pub fn fold_expr_dict_comp + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprDictComp, -) -> Result, F::Error> { - let ExprDictComp { - key, - value, - generators, - range, - } = node; - let context = folder.will_map_user(&range); - - let key = Foldable::fold(key, folder)?; - let value = Foldable::fold(value, folder)?; - let generators = Foldable::fold(generators, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprDictComp { - key, - value, - generators, - range, - }) -} -impl Foldable for ExprGeneratorExp { - type Mapped = ExprGeneratorExp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_generator_exp(self) - } -} -pub fn fold_expr_generator_exp + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprGeneratorExp, -) -> Result, F::Error> { - let ExprGeneratorExp { - elt, - generators, - range, - } = node; - let context = folder.will_map_user(&range); - - let elt = Foldable::fold(elt, folder)?; - let generators = Foldable::fold(generators, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprGeneratorExp { - elt, - generators, - range, - }) -} -impl Foldable for ExprAwait { - type Mapped = ExprAwait; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_await(self) - } -} -pub fn fold_expr_await + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprAwait, -) -> Result, F::Error> { - let ExprAwait { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprAwait { value, range }) -} -impl Foldable for ExprYield { - type Mapped = ExprYield; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_yield(self) - } -} -pub fn fold_expr_yield + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprYield, -) -> Result, F::Error> { - let ExprYield { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprYield { value, range }) -} -impl Foldable for ExprYieldFrom { - type Mapped = ExprYieldFrom; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_yield_from(self) - } -} -pub fn fold_expr_yield_from + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprYieldFrom, -) -> Result, F::Error> { - let ExprYieldFrom { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprYieldFrom { value, range }) -} -impl Foldable for ExprCompare { - type Mapped = ExprCompare; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_compare(self) - } -} -pub fn fold_expr_compare + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprCompare, -) -> Result, F::Error> { - let ExprCompare { - left, - ops, - comparators, - range, - } = node; - let context = folder.will_map_user(&range); - - let left = Foldable::fold(left, folder)?; - let ops = Foldable::fold(ops, folder)?; - let comparators = Foldable::fold(comparators, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprCompare { - left, - ops, - comparators, - range, - }) -} -impl Foldable for ExprCall { - type Mapped = ExprCall; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_call(self) - } -} -pub fn fold_expr_call + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprCall, -) -> Result, F::Error> { - let ExprCall { - func, - args, - keywords, - range, - } = node; - let context = folder.will_map_user(&range); - - let func = Foldable::fold(func, folder)?; - let args = Foldable::fold(args, folder)?; - let keywords = Foldable::fold(keywords, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprCall { - func, - args, - keywords, - range, - }) -} -impl Foldable for ExprFormattedValue { - type Mapped = ExprFormattedValue; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_formatted_value(self) - } -} -pub fn fold_expr_formatted_value + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprFormattedValue, -) -> Result, F::Error> { - let ExprFormattedValue { - value, - conversion, - format_spec, - range, - } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let conversion = Foldable::fold(conversion, folder)?; - let format_spec = Foldable::fold(format_spec, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprFormattedValue { - value, - conversion, - format_spec, - range, - }) -} -impl Foldable for ExprJoinedStr { - type Mapped = ExprJoinedStr; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_joined_str(self) - } -} -pub fn fold_expr_joined_str + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprJoinedStr, -) -> Result, F::Error> { - let ExprJoinedStr { values, range } = node; - let context = folder.will_map_user(&range); - - let values = Foldable::fold(values, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprJoinedStr { values, range }) -} -impl Foldable for ExprConstant { - type Mapped = ExprConstant; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_constant(self) - } -} -pub fn fold_expr_constant + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprConstant, -) -> Result, F::Error> { - let ExprConstant { value, kind, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let kind = Foldable::fold(kind, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprConstant { value, kind, range }) -} -impl Foldable for ExprAttribute { - type Mapped = ExprAttribute; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_attribute(self) - } -} -pub fn fold_expr_attribute + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprAttribute, -) -> Result, F::Error> { - let ExprAttribute { - value, - attr, - ctx, - range, - } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let attr = Foldable::fold(attr, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprAttribute { - value, - attr, - ctx, - range, - }) -} -impl Foldable for ExprSubscript { - type Mapped = ExprSubscript; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_subscript(self) - } -} -pub fn fold_expr_subscript + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprSubscript, -) -> Result, F::Error> { - let ExprSubscript { - value, - slice, - ctx, - range, - } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let slice = Foldable::fold(slice, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprSubscript { - value, - slice, - ctx, - range, - }) -} -impl Foldable for ExprStarred { - type Mapped = ExprStarred; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_starred(self) - } -} -pub fn fold_expr_starred + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprStarred, -) -> Result, F::Error> { - let ExprStarred { value, ctx, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprStarred { value, ctx, range }) -} -impl Foldable for ExprName { - type Mapped = ExprName; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_name(self) - } -} -pub fn fold_expr_name + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprName, -) -> Result, F::Error> { - let ExprName { id, ctx, range } = node; - let context = folder.will_map_user(&range); - - let id = Foldable::fold(id, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprName { id, ctx, range }) -} -impl Foldable for ExprList { - type Mapped = ExprList; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_list(self) - } -} -pub fn fold_expr_list + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprList, -) -> Result, F::Error> { - let ExprList { elts, ctx, range } = node; - let context = folder.will_map_user(&range); - - let elts = Foldable::fold(elts, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprList { elts, ctx, range }) -} -impl Foldable for ExprTuple { - type Mapped = ExprTuple; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_tuple(self) - } -} -pub fn fold_expr_tuple + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprTuple, -) -> Result, F::Error> { - let ExprTuple { elts, ctx, range } = node; - let context = folder.will_map_user(&range); - - let elts = Foldable::fold(elts, folder)?; - let ctx = Foldable::fold(ctx, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprTuple { elts, ctx, range }) -} -impl Foldable for ExprSlice { - type Mapped = ExprSlice; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_slice(self) - } -} -pub fn fold_expr_slice + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprSlice, -) -> Result, F::Error> { - let ExprSlice { - lower, - upper, - step, - range, - } = node; - let context = folder.will_map_user(&range); - - let lower = Foldable::fold(lower, folder)?; - let upper = Foldable::fold(upper, folder)?; - let step = Foldable::fold(step, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExprSlice { - lower, - upper, - step, - range, - }) -} -impl Foldable for ExprContext { - type Mapped = ExprContext; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_expr_context(self) - } -} -pub fn fold_expr_context + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExprContext, -) -> Result { - Ok(node) -} -impl Foldable for BoolOp { - type Mapped = BoolOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_boolop(self) - } -} -pub fn fold_boolop + ?Sized>( - #[allow(unused)] folder: &mut F, - node: BoolOp, -) -> Result { - Ok(node) -} -impl Foldable for Operator { - type Mapped = Operator; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_operator(self) - } -} -pub fn fold_operator + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Operator, -) -> Result { - Ok(node) -} -impl Foldable for UnaryOp { - type Mapped = UnaryOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_unaryop(self) - } -} -pub fn fold_unaryop + ?Sized>( - #[allow(unused)] folder: &mut F, - node: UnaryOp, -) -> Result { - Ok(node) -} -impl Foldable for CmpOp { - type Mapped = CmpOp; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_cmpop(self) - } -} -pub fn fold_cmpop + ?Sized>( - #[allow(unused)] folder: &mut F, - node: CmpOp, -) -> Result { - Ok(node) -} -impl Foldable for Comprehension { - type Mapped = Comprehension; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_comprehension(self) - } -} -pub fn fold_comprehension + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Comprehension, -) -> Result, F::Error> { - let Comprehension { - target, - iter, - ifs, - is_async, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - let target = Foldable::fold(target, folder)?; - let iter = Foldable::fold(iter, folder)?; - let ifs = Foldable::fold(ifs, folder)?; - let is_async = Foldable::fold(is_async, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(Comprehension { - target, - iter, - ifs, - is_async, - range, - }) -} -impl Foldable for ExceptHandler { - type Mapped = ExceptHandler; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_excepthandler(self) - } -} -pub fn fold_excepthandler + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExceptHandler, -) -> Result, F::Error> { - let folded = match node { - ExceptHandler::ExceptHandler(cons) => { - ExceptHandler::ExceptHandler(Foldable::fold(cons, folder)?) - } - }; - Ok(folded) -} -impl Foldable for ExceptHandlerExceptHandler { - type Mapped = ExceptHandlerExceptHandler; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_excepthandler_except_handler(self) - } -} -pub fn fold_excepthandler_except_handler + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ExceptHandlerExceptHandler, -) -> Result, F::Error> { - let ExceptHandlerExceptHandler { - type_, - name, - body, - range, - } = node; - let context = folder.will_map_user(&range); - - let type_ = Foldable::fold(type_, folder)?; - let name = Foldable::fold(name, folder)?; - let body = Foldable::fold(body, folder)?; - let range = folder.map_user(range, context)?; - Ok(ExceptHandlerExceptHandler { - type_, - name, - body, - range, - }) -} -impl Foldable for Arguments { - type Mapped = Arguments; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_arguments(self) - } -} -pub fn fold_arguments + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Arguments, -) -> Result, F::Error> { - let Arguments { - posonlyargs, - args, - vararg, - kwonlyargs, - kwarg, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - let posonlyargs = Foldable::fold(posonlyargs, folder)?; - let args = Foldable::fold(args, folder)?; - let vararg = Foldable::fold(vararg, folder)?; - let kwonlyargs = Foldable::fold(kwonlyargs, folder)?; - let kwarg = Foldable::fold(kwarg, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(Arguments { - posonlyargs, - args, - vararg, - kwonlyargs, - kwarg, - range, - }) -} -impl Foldable for Arg { - type Mapped = Arg; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_arg(self) - } -} -pub fn fold_arg + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Arg, -) -> Result, F::Error> { - let Arg { - arg, - annotation, - type_comment, - range, - } = node; - let context = folder.will_map_user(&range); - let arg = Foldable::fold(arg, folder)?; - let annotation = Foldable::fold(annotation, folder)?; - let type_comment = Foldable::fold(type_comment, folder)?; - let range = folder.map_user(range, context)?; - Ok(Arg { - arg, - annotation, - type_comment, - range, - }) -} -impl Foldable for Keyword { - type Mapped = Keyword; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_keyword(self) - } -} -pub fn fold_keyword + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Keyword, -) -> Result, F::Error> { - let Keyword { arg, value, range } = node; - let context = folder.will_map_user(&range); - let arg = Foldable::fold(arg, folder)?; - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(Keyword { arg, value, range }) -} -impl Foldable for Alias { - type Mapped = Alias; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_alias(self) - } -} -pub fn fold_alias + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Alias, -) -> Result, F::Error> { - let Alias { - name, - asname, - range, - } = node; - let context = folder.will_map_user(&range); - let name = Foldable::fold(name, folder)?; - let asname = Foldable::fold(asname, folder)?; - let range = folder.map_user(range, context)?; - Ok(Alias { - name, - asname, - range, - }) -} -impl Foldable for WithItem { - type Mapped = WithItem; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_withitem(self) - } -} -pub fn fold_withitem + ?Sized>( - #[allow(unused)] folder: &mut F, - node: WithItem, -) -> Result, F::Error> { - let WithItem { - context_expr, - optional_vars, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - let context_expr = Foldable::fold(context_expr, folder)?; - let optional_vars = Foldable::fold(optional_vars, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(WithItem { - context_expr, - optional_vars, - range, - }) -} -impl Foldable for MatchCase { - type Mapped = MatchCase; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_match_case(self) - } -} -pub fn fold_match_case + ?Sized>( - #[allow(unused)] folder: &mut F, - node: MatchCase, -) -> Result, F::Error> { - let MatchCase { - pattern, - guard, - body, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - let pattern = Foldable::fold(pattern, folder)?; - let guard = Foldable::fold(guard, folder)?; - let body = Foldable::fold(body, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(MatchCase { - pattern, - guard, - body, - range, - }) -} -impl Foldable for Pattern { - type Mapped = Pattern; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern(self) - } -} -pub fn fold_pattern + ?Sized>( - #[allow(unused)] folder: &mut F, - node: Pattern, -) -> Result, F::Error> { - let folded = match node { - Pattern::MatchValue(cons) => Pattern::MatchValue(Foldable::fold(cons, folder)?), - Pattern::MatchSingleton(cons) => Pattern::MatchSingleton(Foldable::fold(cons, folder)?), - Pattern::MatchSequence(cons) => Pattern::MatchSequence(Foldable::fold(cons, folder)?), - Pattern::MatchMapping(cons) => Pattern::MatchMapping(Foldable::fold(cons, folder)?), - Pattern::MatchClass(cons) => Pattern::MatchClass(Foldable::fold(cons, folder)?), - Pattern::MatchStar(cons) => Pattern::MatchStar(Foldable::fold(cons, folder)?), - Pattern::MatchAs(cons) => Pattern::MatchAs(Foldable::fold(cons, folder)?), - Pattern::MatchOr(cons) => Pattern::MatchOr(Foldable::fold(cons, folder)?), - }; - Ok(folded) -} -impl Foldable for PatternMatchValue { - type Mapped = PatternMatchValue; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_value(self) - } -} -pub fn fold_pattern_match_value + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchValue, -) -> Result, F::Error> { - let PatternMatchValue { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchValue { value, range }) -} -impl Foldable for PatternMatchSingleton { - type Mapped = PatternMatchSingleton; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_singleton(self) - } -} -pub fn fold_pattern_match_singleton + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchSingleton, -) -> Result, F::Error> { - let PatternMatchSingleton { value, range } = node; - let context = folder.will_map_user(&range); - - let value = Foldable::fold(value, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchSingleton { value, range }) -} -impl Foldable for PatternMatchSequence { - type Mapped = PatternMatchSequence; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_sequence(self) - } -} -pub fn fold_pattern_match_sequence + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchSequence, -) -> Result, F::Error> { - let PatternMatchSequence { patterns, range } = node; - let context = folder.will_map_user(&range); - - let patterns = Foldable::fold(patterns, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchSequence { patterns, range }) -} -impl Foldable for PatternMatchMapping { - type Mapped = PatternMatchMapping; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_mapping(self) - } -} -pub fn fold_pattern_match_mapping + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchMapping, -) -> Result, F::Error> { - let PatternMatchMapping { - keys, - patterns, - rest, - range, - } = node; - let context = folder.will_map_user(&range); - - let keys = Foldable::fold(keys, folder)?; - let patterns = Foldable::fold(patterns, folder)?; - let rest = Foldable::fold(rest, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchMapping { - keys, - patterns, - rest, - range, - }) -} -impl Foldable for PatternMatchClass { - type Mapped = PatternMatchClass; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_class(self) - } -} -pub fn fold_pattern_match_class + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchClass, -) -> Result, F::Error> { - let PatternMatchClass { - cls, - patterns, - kwd_attrs, - kwd_patterns, - range, - } = node; - let context = folder.will_map_user(&range); - - let cls = Foldable::fold(cls, folder)?; - let patterns = Foldable::fold(patterns, folder)?; - let kwd_attrs = Foldable::fold(kwd_attrs, folder)?; - let kwd_patterns = Foldable::fold(kwd_patterns, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchClass { - cls, - patterns, - kwd_attrs, - kwd_patterns, - range, - }) -} -impl Foldable for PatternMatchStar { - type Mapped = PatternMatchStar; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_star(self) - } -} -pub fn fold_pattern_match_star + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchStar, -) -> Result, F::Error> { - let PatternMatchStar { name, range } = node; - let context = folder.will_map_user(&range); - - let name = Foldable::fold(name, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchStar { name, range }) -} -impl Foldable for PatternMatchAs { - type Mapped = PatternMatchAs; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_as(self) - } -} -pub fn fold_pattern_match_as + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchAs, -) -> Result, F::Error> { - let PatternMatchAs { - pattern, - name, - range, - } = node; - let context = folder.will_map_user(&range); - - let pattern = Foldable::fold(pattern, folder)?; - let name = Foldable::fold(name, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchAs { - pattern, - name, - range, - }) -} -impl Foldable for PatternMatchOr { - type Mapped = PatternMatchOr; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_pattern_match_or(self) - } -} -pub fn fold_pattern_match_or + ?Sized>( - #[allow(unused)] folder: &mut F, - node: PatternMatchOr, -) -> Result, F::Error> { - let PatternMatchOr { patterns, range } = node; - let context = folder.will_map_user(&range); - - let patterns = Foldable::fold(patterns, folder)?; - let range = folder.map_user(range, context)?; - Ok(PatternMatchOr { patterns, range }) -} -impl Foldable for TypeIgnore { - type Mapped = TypeIgnore; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_type_ignore(self) - } -} -pub fn fold_type_ignore + ?Sized>( - #[allow(unused)] folder: &mut F, - node: TypeIgnore, -) -> Result, F::Error> { - let folded = match node { - TypeIgnore::TypeIgnore(cons) => TypeIgnore::TypeIgnore(Foldable::fold(cons, folder)?), - }; - Ok(folded) -} -impl Foldable for TypeIgnoreTypeIgnore { - type Mapped = TypeIgnoreTypeIgnore; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_type_ignore_type_ignore(self) - } -} -pub fn fold_type_ignore_type_ignore + ?Sized>( - #[allow(unused)] folder: &mut F, - node: TypeIgnoreTypeIgnore, -) -> Result, F::Error> { - let TypeIgnoreTypeIgnore { lineno, tag, range } = node; - let context = folder.will_map_user_cfg(&range); - - let lineno = Foldable::fold(lineno, folder)?; - let tag = Foldable::fold(tag, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(TypeIgnoreTypeIgnore { lineno, tag, range }) -} -impl Foldable for ArgWithDefault { - type Mapped = ArgWithDefault; - fn fold + ?Sized>( - self, - folder: &mut F, - ) -> Result { - folder.fold_arg_with_default(self) - } -} -pub fn fold_arg_with_default + ?Sized>( - #[allow(unused)] folder: &mut F, - node: ArgWithDefault, -) -> Result, F::Error> { - let ArgWithDefault { - def, - default, - range, - } = node; - let context = folder.will_map_user_cfg(&range); - let def = Foldable::fold(def, folder)?; - let default = Foldable::fold(default, folder)?; - let range = folder.map_user_cfg(range, context)?; - Ok(ArgWithDefault { - def, - default, - range, - }) -} diff --git a/ast/src/gen/generic.rs b/ast/src/gen/generic.rs deleted file mode 100644 index 3b193ec2..00000000 --- a/ast/src/gen/generic.rs +++ /dev/null @@ -1,3118 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -use crate::text_size::TextRange; -#[derive(Clone, Debug, PartialEq)] -#[derive(is_macro::Is)] -pub enum Ast { - #[is(name = "module")] - Mod(Mod), - Stmt(Stmt), - Expr(Expr), - ExprContext(ExprContext), - BoolOp(BoolOp), - Operator(Operator), - UnaryOp(UnaryOp), - CmpOp(CmpOp), - Comprehension(Comprehension), - ExceptHandler(ExceptHandler), - Arguments(Arguments), - Arg(Arg), - Keyword(Keyword), - Alias(Alias), - WithItem(WithItem), - MatchCase(MatchCase), - Pattern(Pattern), - TypeIgnore(TypeIgnore), -} -impl Node for Ast { - const NAME: &'static str = "AST"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -impl From> for Ast { - fn from(node: Mod) -> Self { - Ast::Mod(node) - } -} - -impl From> for Ast { - fn from(node: Stmt) -> Self { - Ast::Stmt(node) - } -} - -impl From> for Ast { - fn from(node: Expr) -> Self { - Ast::Expr(node) - } -} - -impl From for Ast { - fn from(node: ExprContext) -> Self { - Ast::ExprContext(node) - } -} - -impl From for Ast { - fn from(node: BoolOp) -> Self { - Ast::BoolOp(node) - } -} - -impl From for Ast { - fn from(node: Operator) -> Self { - Ast::Operator(node) - } -} - -impl From for Ast { - fn from(node: UnaryOp) -> Self { - Ast::UnaryOp(node) - } -} - -impl From for Ast { - fn from(node: CmpOp) -> Self { - Ast::CmpOp(node) - } -} - -impl From> for Ast { - fn from(node: Comprehension) -> Self { - Ast::Comprehension(node) - } -} - -impl From> for Ast { - fn from(node: ExceptHandler) -> Self { - Ast::ExceptHandler(node) - } -} - -impl From> for Ast { - fn from(node: Arguments) -> Self { - Ast::Arguments(node) - } -} - -impl From> for Ast { - fn from(node: Arg) -> Self { - Ast::Arg(node) - } -} - -impl From> for Ast { - fn from(node: Keyword) -> Self { - Ast::Keyword(node) - } -} - -impl From> for Ast { - fn from(node: Alias) -> Self { - Ast::Alias(node) - } -} - -impl From> for Ast { - fn from(node: WithItem) -> Self { - Ast::WithItem(node) - } -} - -impl From> for Ast { - fn from(node: MatchCase) -> Self { - Ast::MatchCase(node) - } -} - -impl From> for Ast { - fn from(node: Pattern) -> Self { - Ast::Pattern(node) - } -} - -impl From> for Ast { - fn from(node: TypeIgnore) -> Self { - Ast::TypeIgnore(node) - } -} - -/// See also [mod](https://docs.python.org/3/library/ast.html#ast.mod) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Mod { - Module(ModModule), - Interactive(ModInteractive), - Expression(ModExpression), - FunctionType(ModFunctionType), -} - -/// See also [Module](https://docs.python.org/3/library/ast.html#ast.Module) -#[derive(Clone, Debug, PartialEq)] -pub struct ModModule { - pub range: OptionalRange, - pub body: Vec>, - pub type_ignores: Vec>, -} - -impl Node for ModModule { - const NAME: &'static str = "Module"; - const FIELD_NAMES: &'static [&'static str] = &["body", "type_ignores"]; -} -impl From> for Mod { - fn from(payload: ModModule) -> Self { - Mod::Module(payload) - } -} -impl From> for Ast { - fn from(payload: ModModule) -> Self { - Mod::from(payload).into() - } -} - -/// See also [Interactive](https://docs.python.org/3/library/ast.html#ast.Interactive) -#[derive(Clone, Debug, PartialEq)] -pub struct ModInteractive { - pub range: OptionalRange, - pub body: Vec>, -} - -impl Node for ModInteractive { - const NAME: &'static str = "Interactive"; - const FIELD_NAMES: &'static [&'static str] = &["body"]; -} -impl From> for Mod { - fn from(payload: ModInteractive) -> Self { - Mod::Interactive(payload) - } -} -impl From> for Ast { - fn from(payload: ModInteractive) -> Self { - Mod::from(payload).into() - } -} - -/// See also [Expression](https://docs.python.org/3/library/ast.html#ast.Expression) -#[derive(Clone, Debug, PartialEq)] -pub struct ModExpression { - pub range: OptionalRange, - pub body: Box>, -} - -impl Node for ModExpression { - const NAME: &'static str = "Expression"; - const FIELD_NAMES: &'static [&'static str] = &["body"]; -} -impl From> for Mod { - fn from(payload: ModExpression) -> Self { - Mod::Expression(payload) - } -} -impl From> for Ast { - fn from(payload: ModExpression) -> Self { - Mod::from(payload).into() - } -} - -/// See also [FunctionType](https://docs.python.org/3/library/ast.html#ast.FunctionType) -#[derive(Clone, Debug, PartialEq)] -pub struct ModFunctionType { - pub range: OptionalRange, - pub argtypes: Vec>, - pub returns: Box>, -} - -impl Node for ModFunctionType { - const NAME: &'static str = "FunctionType"; - const FIELD_NAMES: &'static [&'static str] = &["argtypes", "returns"]; -} -impl From> for Mod { - fn from(payload: ModFunctionType) -> Self { - Mod::FunctionType(payload) - } -} -impl From> for Ast { - fn from(payload: ModFunctionType) -> Self { - Mod::from(payload).into() - } -} - -impl Node for Mod { - const NAME: &'static str = "mod"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [stmt](https://docs.python.org/3/library/ast.html#ast.stmt) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Stmt { - #[is(name = "function_def_stmt")] - FunctionDef(StmtFunctionDef), - #[is(name = "async_function_def_stmt")] - AsyncFunctionDef(StmtAsyncFunctionDef), - #[is(name = "class_def_stmt")] - ClassDef(StmtClassDef), - #[is(name = "return_stmt")] - Return(StmtReturn), - #[is(name = "delete_stmt")] - Delete(StmtDelete), - #[is(name = "assign_stmt")] - Assign(StmtAssign), - #[is(name = "aug_assign_stmt")] - AugAssign(StmtAugAssign), - #[is(name = "ann_assign_stmt")] - AnnAssign(StmtAnnAssign), - #[is(name = "for_stmt")] - For(StmtFor), - #[is(name = "async_for_stmt")] - AsyncFor(StmtAsyncFor), - #[is(name = "while_stmt")] - While(StmtWhile), - #[is(name = "if_stmt")] - If(StmtIf), - #[is(name = "with_stmt")] - With(StmtWith), - #[is(name = "async_with_stmt")] - AsyncWith(StmtAsyncWith), - #[is(name = "match_stmt")] - Match(StmtMatch), - #[is(name = "raise_stmt")] - Raise(StmtRaise), - #[is(name = "try_stmt")] - Try(StmtTry), - #[is(name = "try_star_stmt")] - TryStar(StmtTryStar), - #[is(name = "assert_stmt")] - Assert(StmtAssert), - #[is(name = "import_stmt")] - Import(StmtImport), - #[is(name = "import_from_stmt")] - ImportFrom(StmtImportFrom), - #[is(name = "global_stmt")] - Global(StmtGlobal), - #[is(name = "nonlocal_stmt")] - Nonlocal(StmtNonlocal), - #[is(name = "expr_stmt")] - Expr(StmtExpr), - #[is(name = "pass_stmt")] - Pass(StmtPass), - #[is(name = "break_stmt")] - Break(StmtBreak), - #[is(name = "continue_stmt")] - Continue(StmtContinue), -} - -/// See also [FunctionDef](https://docs.python.org/3/library/ast.html#ast.FunctionDef) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtFunctionDef { - pub range: R, - pub name: Identifier, - pub args: Box>, - pub body: Vec>, - pub decorator_list: Vec>, - pub returns: Option>>, - pub type_comment: Option, -} - -impl Node for StmtFunctionDef { - const NAME: &'static str = "FunctionDef"; - const FIELD_NAMES: &'static [&'static str] = &[ - "name", - "args", - "body", - "decorator_list", - "returns", - "type_comment", - ]; -} -impl From> for Stmt { - fn from(payload: StmtFunctionDef) -> Self { - Stmt::FunctionDef(payload) - } -} -impl From> for Ast { - fn from(payload: StmtFunctionDef) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [AsyncFunctionDef](https://docs.python.org/3/library/ast.html#ast.AsyncFunctionDef) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAsyncFunctionDef { - pub range: R, - pub name: Identifier, - pub args: Box>, - pub body: Vec>, - pub decorator_list: Vec>, - pub returns: Option>>, - pub type_comment: Option, -} - -impl Node for StmtAsyncFunctionDef { - const NAME: &'static str = "AsyncFunctionDef"; - const FIELD_NAMES: &'static [&'static str] = &[ - "name", - "args", - "body", - "decorator_list", - "returns", - "type_comment", - ]; -} -impl From> for Stmt { - fn from(payload: StmtAsyncFunctionDef) -> Self { - Stmt::AsyncFunctionDef(payload) - } -} -impl From> for Ast { - fn from(payload: StmtAsyncFunctionDef) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [ClassDef](https://docs.python.org/3/library/ast.html#ast.ClassDef) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtClassDef { - pub range: R, - pub name: Identifier, - pub bases: Vec>, - pub keywords: Vec>, - pub body: Vec>, - pub decorator_list: Vec>, -} - -impl Node for StmtClassDef { - const NAME: &'static str = "ClassDef"; - const FIELD_NAMES: &'static [&'static str] = - &["name", "bases", "keywords", "body", "decorator_list"]; -} -impl From> for Stmt { - fn from(payload: StmtClassDef) -> Self { - Stmt::ClassDef(payload) - } -} -impl From> for Ast { - fn from(payload: StmtClassDef) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Return](https://docs.python.org/3/library/ast.html#ast.Return) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtReturn { - pub range: R, - pub value: Option>>, -} - -impl Node for StmtReturn { - const NAME: &'static str = "Return"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From> for Stmt { - fn from(payload: StmtReturn) -> Self { - Stmt::Return(payload) - } -} -impl From> for Ast { - fn from(payload: StmtReturn) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Delete](https://docs.python.org/3/library/ast.html#ast.Delete) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtDelete { - pub range: R, - pub targets: Vec>, -} - -impl Node for StmtDelete { - const NAME: &'static str = "Delete"; - const FIELD_NAMES: &'static [&'static str] = &["targets"]; -} -impl From> for Stmt { - fn from(payload: StmtDelete) -> Self { - Stmt::Delete(payload) - } -} -impl From> for Ast { - fn from(payload: StmtDelete) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Assign](https://docs.python.org/3/library/ast.html#ast.Assign) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAssign { - pub range: R, - pub targets: Vec>, - pub value: Box>, - pub type_comment: Option, -} - -impl Node for StmtAssign { - const NAME: &'static str = "Assign"; - const FIELD_NAMES: &'static [&'static str] = &["targets", "value", "type_comment"]; -} -impl From> for Stmt { - fn from(payload: StmtAssign) -> Self { - Stmt::Assign(payload) - } -} -impl From> for Ast { - fn from(payload: StmtAssign) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [AugAssign](https://docs.python.org/3/library/ast.html#ast.AugAssign) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAugAssign { - pub range: R, - pub target: Box>, - pub op: Operator, - pub value: Box>, -} - -impl Node for StmtAugAssign { - const NAME: &'static str = "AugAssign"; - const FIELD_NAMES: &'static [&'static str] = &["target", "op", "value"]; -} -impl From> for Stmt { - fn from(payload: StmtAugAssign) -> Self { - Stmt::AugAssign(payload) - } -} -impl From> for Ast { - fn from(payload: StmtAugAssign) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [AnnAssign](https://docs.python.org/3/library/ast.html#ast.AnnAssign) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAnnAssign { - pub range: R, - pub target: Box>, - pub annotation: Box>, - pub value: Option>>, - pub simple: bool, -} - -impl Node for StmtAnnAssign { - const NAME: &'static str = "AnnAssign"; - const FIELD_NAMES: &'static [&'static str] = &["target", "annotation", "value", "simple"]; -} -impl From> for Stmt { - fn from(payload: StmtAnnAssign) -> Self { - Stmt::AnnAssign(payload) - } -} -impl From> for Ast { - fn from(payload: StmtAnnAssign) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [For](https://docs.python.org/3/library/ast.html#ast.For) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtFor { - pub range: R, - pub target: Box>, - pub iter: Box>, - pub body: Vec>, - pub orelse: Vec>, - pub type_comment: Option, -} - -impl Node for StmtFor { - const NAME: &'static str = "For"; - const FIELD_NAMES: &'static [&'static str] = - &["target", "iter", "body", "orelse", "type_comment"]; -} -impl From> for Stmt { - fn from(payload: StmtFor) -> Self { - Stmt::For(payload) - } -} -impl From> for Ast { - fn from(payload: StmtFor) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [AsyncFor](https://docs.python.org/3/library/ast.html#ast.AsyncFor) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAsyncFor { - pub range: R, - pub target: Box>, - pub iter: Box>, - pub body: Vec>, - pub orelse: Vec>, - pub type_comment: Option, -} - -impl Node for StmtAsyncFor { - const NAME: &'static str = "AsyncFor"; - const FIELD_NAMES: &'static [&'static str] = - &["target", "iter", "body", "orelse", "type_comment"]; -} -impl From> for Stmt { - fn from(payload: StmtAsyncFor) -> Self { - Stmt::AsyncFor(payload) - } -} -impl From> for Ast { - fn from(payload: StmtAsyncFor) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [While](https://docs.python.org/3/library/ast.html#ast.While) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtWhile { - pub range: R, - pub test: Box>, - pub body: Vec>, - pub orelse: Vec>, -} - -impl Node for StmtWhile { - const NAME: &'static str = "While"; - const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; -} -impl From> for Stmt { - fn from(payload: StmtWhile) -> Self { - Stmt::While(payload) - } -} -impl From> for Ast { - fn from(payload: StmtWhile) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [If](https://docs.python.org/3/library/ast.html#ast.If) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtIf { - pub range: R, - pub test: Box>, - pub body: Vec>, - pub orelse: Vec>, -} - -impl Node for StmtIf { - const NAME: &'static str = "If"; - const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; -} -impl From> for Stmt { - fn from(payload: StmtIf) -> Self { - Stmt::If(payload) - } -} -impl From> for Ast { - fn from(payload: StmtIf) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [With](https://docs.python.org/3/library/ast.html#ast.With) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtWith { - pub range: R, - pub items: Vec>, - pub body: Vec>, - pub type_comment: Option, -} - -impl Node for StmtWith { - const NAME: &'static str = "With"; - const FIELD_NAMES: &'static [&'static str] = &["items", "body", "type_comment"]; -} -impl From> for Stmt { - fn from(payload: StmtWith) -> Self { - Stmt::With(payload) - } -} -impl From> for Ast { - fn from(payload: StmtWith) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [AsyncWith](https://docs.python.org/3/library/ast.html#ast.AsyncWith) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAsyncWith { - pub range: R, - pub items: Vec>, - pub body: Vec>, - pub type_comment: Option, -} - -impl Node for StmtAsyncWith { - const NAME: &'static str = "AsyncWith"; - const FIELD_NAMES: &'static [&'static str] = &["items", "body", "type_comment"]; -} -impl From> for Stmt { - fn from(payload: StmtAsyncWith) -> Self { - Stmt::AsyncWith(payload) - } -} -impl From> for Ast { - fn from(payload: StmtAsyncWith) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Match](https://docs.python.org/3/library/ast.html#ast.Match) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtMatch { - pub range: R, - pub subject: Box>, - pub cases: Vec>, -} - -impl Node for StmtMatch { - const NAME: &'static str = "Match"; - const FIELD_NAMES: &'static [&'static str] = &["subject", "cases"]; -} -impl From> for Stmt { - fn from(payload: StmtMatch) -> Self { - Stmt::Match(payload) - } -} -impl From> for Ast { - fn from(payload: StmtMatch) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Raise](https://docs.python.org/3/library/ast.html#ast.Raise) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtRaise { - pub range: R, - pub exc: Option>>, - pub cause: Option>>, -} - -impl Node for StmtRaise { - const NAME: &'static str = "Raise"; - const FIELD_NAMES: &'static [&'static str] = &["exc", "cause"]; -} -impl From> for Stmt { - fn from(payload: StmtRaise) -> Self { - Stmt::Raise(payload) - } -} -impl From> for Ast { - fn from(payload: StmtRaise) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Try](https://docs.python.org/3/library/ast.html#ast.Try) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtTry { - pub range: R, - pub body: Vec>, - pub handlers: Vec>, - pub orelse: Vec>, - pub finalbody: Vec>, -} - -impl Node for StmtTry { - const NAME: &'static str = "Try"; - const FIELD_NAMES: &'static [&'static str] = &["body", "handlers", "orelse", "finalbody"]; -} -impl From> for Stmt { - fn from(payload: StmtTry) -> Self { - Stmt::Try(payload) - } -} -impl From> for Ast { - fn from(payload: StmtTry) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [TryStar](https://docs.python.org/3/library/ast.html#ast.TryStar) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtTryStar { - pub range: R, - pub body: Vec>, - pub handlers: Vec>, - pub orelse: Vec>, - pub finalbody: Vec>, -} - -impl Node for StmtTryStar { - const NAME: &'static str = "TryStar"; - const FIELD_NAMES: &'static [&'static str] = &["body", "handlers", "orelse", "finalbody"]; -} -impl From> for Stmt { - fn from(payload: StmtTryStar) -> Self { - Stmt::TryStar(payload) - } -} -impl From> for Ast { - fn from(payload: StmtTryStar) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Assert](https://docs.python.org/3/library/ast.html#ast.Assert) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtAssert { - pub range: R, - pub test: Box>, - pub msg: Option>>, -} - -impl Node for StmtAssert { - const NAME: &'static str = "Assert"; - const FIELD_NAMES: &'static [&'static str] = &["test", "msg"]; -} -impl From> for Stmt { - fn from(payload: StmtAssert) -> Self { - Stmt::Assert(payload) - } -} -impl From> for Ast { - fn from(payload: StmtAssert) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Import](https://docs.python.org/3/library/ast.html#ast.Import) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtImport { - pub range: R, - pub names: Vec>, -} - -impl Node for StmtImport { - const NAME: &'static str = "Import"; - const FIELD_NAMES: &'static [&'static str] = &["names"]; -} -impl From> for Stmt { - fn from(payload: StmtImport) -> Self { - Stmt::Import(payload) - } -} -impl From> for Ast { - fn from(payload: StmtImport) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [ImportFrom](https://docs.python.org/3/library/ast.html#ast.ImportFrom) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtImportFrom { - pub range: R, - pub module: Option, - pub names: Vec>, - pub level: Option, -} - -impl Node for StmtImportFrom { - const NAME: &'static str = "ImportFrom"; - const FIELD_NAMES: &'static [&'static str] = &["module", "names", "level"]; -} -impl From> for Stmt { - fn from(payload: StmtImportFrom) -> Self { - Stmt::ImportFrom(payload) - } -} -impl From> for Ast { - fn from(payload: StmtImportFrom) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Global](https://docs.python.org/3/library/ast.html#ast.Global) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtGlobal { - pub range: R, - pub names: Vec, -} - -impl Node for StmtGlobal { - const NAME: &'static str = "Global"; - const FIELD_NAMES: &'static [&'static str] = &["names"]; -} -impl From> for Stmt { - fn from(payload: StmtGlobal) -> Self { - Stmt::Global(payload) - } -} -impl From> for Ast { - fn from(payload: StmtGlobal) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Nonlocal](https://docs.python.org/3/library/ast.html#ast.Nonlocal) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtNonlocal { - pub range: R, - pub names: Vec, -} - -impl Node for StmtNonlocal { - const NAME: &'static str = "Nonlocal"; - const FIELD_NAMES: &'static [&'static str] = &["names"]; -} -impl From> for Stmt { - fn from(payload: StmtNonlocal) -> Self { - Stmt::Nonlocal(payload) - } -} -impl From> for Ast { - fn from(payload: StmtNonlocal) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Expr](https://docs.python.org/3/library/ast.html#ast.Expr) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtExpr { - pub range: R, - pub value: Box>, -} - -impl Node for StmtExpr { - const NAME: &'static str = "Expr"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From> for Stmt { - fn from(payload: StmtExpr) -> Self { - Stmt::Expr(payload) - } -} -impl From> for Ast { - fn from(payload: StmtExpr) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Pass](https://docs.python.org/3/library/ast.html#ast.Pass) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtPass { - pub range: R, -} - -impl Node for StmtPass { - const NAME: &'static str = "Pass"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl From> for Stmt { - fn from(payload: StmtPass) -> Self { - Stmt::Pass(payload) - } -} -impl From> for Ast { - fn from(payload: StmtPass) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Break](https://docs.python.org/3/library/ast.html#ast.Break) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtBreak { - pub range: R, -} - -impl Node for StmtBreak { - const NAME: &'static str = "Break"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl From> for Stmt { - fn from(payload: StmtBreak) -> Self { - Stmt::Break(payload) - } -} -impl From> for Ast { - fn from(payload: StmtBreak) -> Self { - Stmt::from(payload).into() - } -} - -/// See also [Continue](https://docs.python.org/3/library/ast.html#ast.Continue) -#[derive(Clone, Debug, PartialEq)] -pub struct StmtContinue { - pub range: R, -} - -impl Node for StmtContinue { - const NAME: &'static str = "Continue"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl From> for Stmt { - fn from(payload: StmtContinue) -> Self { - Stmt::Continue(payload) - } -} -impl From> for Ast { - fn from(payload: StmtContinue) -> Self { - Stmt::from(payload).into() - } -} - -impl Node for Stmt { - const NAME: &'static str = "stmt"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [expr](https://docs.python.org/3/library/ast.html#ast.expr) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Expr { - #[is(name = "bool_op_expr")] - BoolOp(ExprBoolOp), - #[is(name = "named_expr_expr")] - NamedExpr(ExprNamedExpr), - #[is(name = "bin_op_expr")] - BinOp(ExprBinOp), - #[is(name = "unary_op_expr")] - UnaryOp(ExprUnaryOp), - #[is(name = "lambda_expr")] - Lambda(ExprLambda), - #[is(name = "if_exp_expr")] - IfExp(ExprIfExp), - #[is(name = "dict_expr")] - Dict(ExprDict), - #[is(name = "set_expr")] - Set(ExprSet), - #[is(name = "list_comp_expr")] - ListComp(ExprListComp), - #[is(name = "set_comp_expr")] - SetComp(ExprSetComp), - #[is(name = "dict_comp_expr")] - DictComp(ExprDictComp), - #[is(name = "generator_exp_expr")] - GeneratorExp(ExprGeneratorExp), - #[is(name = "await_expr")] - Await(ExprAwait), - #[is(name = "yield_expr")] - Yield(ExprYield), - #[is(name = "yield_from_expr")] - YieldFrom(ExprYieldFrom), - #[is(name = "compare_expr")] - Compare(ExprCompare), - #[is(name = "call_expr")] - Call(ExprCall), - #[is(name = "formatted_value_expr")] - FormattedValue(ExprFormattedValue), - #[is(name = "joined_str_expr")] - JoinedStr(ExprJoinedStr), - #[is(name = "constant_expr")] - Constant(ExprConstant), - #[is(name = "attribute_expr")] - Attribute(ExprAttribute), - #[is(name = "subscript_expr")] - Subscript(ExprSubscript), - #[is(name = "starred_expr")] - Starred(ExprStarred), - #[is(name = "name_expr")] - Name(ExprName), - #[is(name = "list_expr")] - List(ExprList), - #[is(name = "tuple_expr")] - Tuple(ExprTuple), - #[is(name = "slice_expr")] - Slice(ExprSlice), -} - -/// See also [BoolOp](https://docs.python.org/3/library/ast.html#ast.BoolOp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprBoolOp { - pub range: R, - pub op: BoolOp, - pub values: Vec>, -} - -impl Node for ExprBoolOp { - const NAME: &'static str = "BoolOp"; - const FIELD_NAMES: &'static [&'static str] = &["op", "values"]; -} -impl From> for Expr { - fn from(payload: ExprBoolOp) -> Self { - Expr::BoolOp(payload) - } -} -impl From> for Ast { - fn from(payload: ExprBoolOp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [NamedExpr](https://docs.python.org/3/library/ast.html#ast.NamedExpr) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprNamedExpr { - pub range: R, - pub target: Box>, - pub value: Box>, -} - -impl Node for ExprNamedExpr { - const NAME: &'static str = "NamedExpr"; - const FIELD_NAMES: &'static [&'static str] = &["target", "value"]; -} -impl From> for Expr { - fn from(payload: ExprNamedExpr) -> Self { - Expr::NamedExpr(payload) - } -} -impl From> for Ast { - fn from(payload: ExprNamedExpr) -> Self { - Expr::from(payload).into() - } -} - -/// See also [BinOp](https://docs.python.org/3/library/ast.html#ast.BinOp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprBinOp { - pub range: R, - pub left: Box>, - pub op: Operator, - pub right: Box>, -} - -impl Node for ExprBinOp { - const NAME: &'static str = "BinOp"; - const FIELD_NAMES: &'static [&'static str] = &["left", "op", "right"]; -} -impl From> for Expr { - fn from(payload: ExprBinOp) -> Self { - Expr::BinOp(payload) - } -} -impl From> for Ast { - fn from(payload: ExprBinOp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [UnaryOp](https://docs.python.org/3/library/ast.html#ast.UnaryOp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprUnaryOp { - pub range: R, - pub op: UnaryOp, - pub operand: Box>, -} - -impl Node for ExprUnaryOp { - const NAME: &'static str = "UnaryOp"; - const FIELD_NAMES: &'static [&'static str] = &["op", "operand"]; -} -impl From> for Expr { - fn from(payload: ExprUnaryOp) -> Self { - Expr::UnaryOp(payload) - } -} -impl From> for Ast { - fn from(payload: ExprUnaryOp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Lambda](https://docs.python.org/3/library/ast.html#ast.Lambda) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprLambda { - pub range: R, - pub args: Box>, - pub body: Box>, -} - -impl Node for ExprLambda { - const NAME: &'static str = "Lambda"; - const FIELD_NAMES: &'static [&'static str] = &["args", "body"]; -} -impl From> for Expr { - fn from(payload: ExprLambda) -> Self { - Expr::Lambda(payload) - } -} -impl From> for Ast { - fn from(payload: ExprLambda) -> Self { - Expr::from(payload).into() - } -} - -/// See also [IfExp](https://docs.python.org/3/library/ast.html#ast.IfExp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprIfExp { - pub range: R, - pub test: Box>, - pub body: Box>, - pub orelse: Box>, -} - -impl Node for ExprIfExp { - const NAME: &'static str = "IfExp"; - const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; -} -impl From> for Expr { - fn from(payload: ExprIfExp) -> Self { - Expr::IfExp(payload) - } -} -impl From> for Ast { - fn from(payload: ExprIfExp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Dict](https://docs.python.org/3/library/ast.html#ast.Dict) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprDict { - pub range: R, - pub keys: Vec>>, - pub values: Vec>, -} - -impl Node for ExprDict { - const NAME: &'static str = "Dict"; - const FIELD_NAMES: &'static [&'static str] = &["keys", "values"]; -} -impl From> for Expr { - fn from(payload: ExprDict) -> Self { - Expr::Dict(payload) - } -} -impl From> for Ast { - fn from(payload: ExprDict) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Set](https://docs.python.org/3/library/ast.html#ast.Set) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprSet { - pub range: R, - pub elts: Vec>, -} - -impl Node for ExprSet { - const NAME: &'static str = "Set"; - const FIELD_NAMES: &'static [&'static str] = &["elts"]; -} -impl From> for Expr { - fn from(payload: ExprSet) -> Self { - Expr::Set(payload) - } -} -impl From> for Ast { - fn from(payload: ExprSet) -> Self { - Expr::from(payload).into() - } -} - -/// See also [ListComp](https://docs.python.org/3/library/ast.html#ast.ListComp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprListComp { - pub range: R, - pub elt: Box>, - pub generators: Vec>, -} - -impl Node for ExprListComp { - const NAME: &'static str = "ListComp"; - const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; -} -impl From> for Expr { - fn from(payload: ExprListComp) -> Self { - Expr::ListComp(payload) - } -} -impl From> for Ast { - fn from(payload: ExprListComp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [SetComp](https://docs.python.org/3/library/ast.html#ast.SetComp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprSetComp { - pub range: R, - pub elt: Box>, - pub generators: Vec>, -} - -impl Node for ExprSetComp { - const NAME: &'static str = "SetComp"; - const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; -} -impl From> for Expr { - fn from(payload: ExprSetComp) -> Self { - Expr::SetComp(payload) - } -} -impl From> for Ast { - fn from(payload: ExprSetComp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [DictComp](https://docs.python.org/3/library/ast.html#ast.DictComp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprDictComp { - pub range: R, - pub key: Box>, - pub value: Box>, - pub generators: Vec>, -} - -impl Node for ExprDictComp { - const NAME: &'static str = "DictComp"; - const FIELD_NAMES: &'static [&'static str] = &["key", "value", "generators"]; -} -impl From> for Expr { - fn from(payload: ExprDictComp) -> Self { - Expr::DictComp(payload) - } -} -impl From> for Ast { - fn from(payload: ExprDictComp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [GeneratorExp](https://docs.python.org/3/library/ast.html#ast.GeneratorExp) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprGeneratorExp { - pub range: R, - pub elt: Box>, - pub generators: Vec>, -} - -impl Node for ExprGeneratorExp { - const NAME: &'static str = "GeneratorExp"; - const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; -} -impl From> for Expr { - fn from(payload: ExprGeneratorExp) -> Self { - Expr::GeneratorExp(payload) - } -} -impl From> for Ast { - fn from(payload: ExprGeneratorExp) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Await](https://docs.python.org/3/library/ast.html#ast.Await) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprAwait { - pub range: R, - pub value: Box>, -} - -impl Node for ExprAwait { - const NAME: &'static str = "Await"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From> for Expr { - fn from(payload: ExprAwait) -> Self { - Expr::Await(payload) - } -} -impl From> for Ast { - fn from(payload: ExprAwait) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Yield](https://docs.python.org/3/library/ast.html#ast.Yield) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprYield { - pub range: R, - pub value: Option>>, -} - -impl Node for ExprYield { - const NAME: &'static str = "Yield"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From> for Expr { - fn from(payload: ExprYield) -> Self { - Expr::Yield(payload) - } -} -impl From> for Ast { - fn from(payload: ExprYield) -> Self { - Expr::from(payload).into() - } -} - -/// See also [YieldFrom](https://docs.python.org/3/library/ast.html#ast.YieldFrom) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprYieldFrom { - pub range: R, - pub value: Box>, -} - -impl Node for ExprYieldFrom { - const NAME: &'static str = "YieldFrom"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From> for Expr { - fn from(payload: ExprYieldFrom) -> Self { - Expr::YieldFrom(payload) - } -} -impl From> for Ast { - fn from(payload: ExprYieldFrom) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Compare](https://docs.python.org/3/library/ast.html#ast.Compare) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprCompare { - pub range: R, - pub left: Box>, - pub ops: Vec, - pub comparators: Vec>, -} - -impl Node for ExprCompare { - const NAME: &'static str = "Compare"; - const FIELD_NAMES: &'static [&'static str] = &["left", "ops", "comparators"]; -} -impl From> for Expr { - fn from(payload: ExprCompare) -> Self { - Expr::Compare(payload) - } -} -impl From> for Ast { - fn from(payload: ExprCompare) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Call](https://docs.python.org/3/library/ast.html#ast.Call) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprCall { - pub range: R, - pub func: Box>, - pub args: Vec>, - pub keywords: Vec>, -} - -impl Node for ExprCall { - const NAME: &'static str = "Call"; - const FIELD_NAMES: &'static [&'static str] = &["func", "args", "keywords"]; -} -impl From> for Expr { - fn from(payload: ExprCall) -> Self { - Expr::Call(payload) - } -} -impl From> for Ast { - fn from(payload: ExprCall) -> Self { - Expr::from(payload).into() - } -} - -/// See also [FormattedValue](https://docs.python.org/3/library/ast.html#ast.FormattedValue) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprFormattedValue { - pub range: R, - pub value: Box>, - pub conversion: ConversionFlag, - pub format_spec: Option>>, -} - -impl Node for ExprFormattedValue { - const NAME: &'static str = "FormattedValue"; - const FIELD_NAMES: &'static [&'static str] = &["value", "conversion", "format_spec"]; -} -impl From> for Expr { - fn from(payload: ExprFormattedValue) -> Self { - Expr::FormattedValue(payload) - } -} -impl From> for Ast { - fn from(payload: ExprFormattedValue) -> Self { - Expr::from(payload).into() - } -} - -/// See also [JoinedStr](https://docs.python.org/3/library/ast.html#ast.JoinedStr) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprJoinedStr { - pub range: R, - pub values: Vec>, -} - -impl Node for ExprJoinedStr { - const NAME: &'static str = "JoinedStr"; - const FIELD_NAMES: &'static [&'static str] = &["values"]; -} -impl From> for Expr { - fn from(payload: ExprJoinedStr) -> Self { - Expr::JoinedStr(payload) - } -} -impl From> for Ast { - fn from(payload: ExprJoinedStr) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Constant](https://docs.python.org/3/library/ast.html#ast.Constant) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprConstant { - pub range: R, - pub value: Constant, - pub kind: Option, -} - -impl Node for ExprConstant { - const NAME: &'static str = "Constant"; - const FIELD_NAMES: &'static [&'static str] = &["value", "kind"]; -} -impl From> for Expr { - fn from(payload: ExprConstant) -> Self { - Expr::Constant(payload) - } -} -impl From> for Ast { - fn from(payload: ExprConstant) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Attribute](https://docs.python.org/3/library/ast.html#ast.Attribute) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprAttribute { - pub range: R, - pub value: Box>, - pub attr: Identifier, - pub ctx: ExprContext, -} - -impl Node for ExprAttribute { - const NAME: &'static str = "Attribute"; - const FIELD_NAMES: &'static [&'static str] = &["value", "attr", "ctx"]; -} -impl From> for Expr { - fn from(payload: ExprAttribute) -> Self { - Expr::Attribute(payload) - } -} -impl From> for Ast { - fn from(payload: ExprAttribute) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Subscript](https://docs.python.org/3/library/ast.html#ast.Subscript) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprSubscript { - pub range: R, - pub value: Box>, - pub slice: Box>, - pub ctx: ExprContext, -} - -impl Node for ExprSubscript { - const NAME: &'static str = "Subscript"; - const FIELD_NAMES: &'static [&'static str] = &["value", "slice", "ctx"]; -} -impl From> for Expr { - fn from(payload: ExprSubscript) -> Self { - Expr::Subscript(payload) - } -} -impl From> for Ast { - fn from(payload: ExprSubscript) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Starred](https://docs.python.org/3/library/ast.html#ast.Starred) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprStarred { - pub range: R, - pub value: Box>, - pub ctx: ExprContext, -} - -impl Node for ExprStarred { - const NAME: &'static str = "Starred"; - const FIELD_NAMES: &'static [&'static str] = &["value", "ctx"]; -} -impl From> for Expr { - fn from(payload: ExprStarred) -> Self { - Expr::Starred(payload) - } -} -impl From> for Ast { - fn from(payload: ExprStarred) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Name](https://docs.python.org/3/library/ast.html#ast.Name) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprName { - pub range: R, - pub id: Identifier, - pub ctx: ExprContext, -} - -impl Node for ExprName { - const NAME: &'static str = "Name"; - const FIELD_NAMES: &'static [&'static str] = &["id", "ctx"]; -} -impl From> for Expr { - fn from(payload: ExprName) -> Self { - Expr::Name(payload) - } -} -impl From> for Ast { - fn from(payload: ExprName) -> Self { - Expr::from(payload).into() - } -} - -/// See also [List](https://docs.python.org/3/library/ast.html#ast.List) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprList { - pub range: R, - pub elts: Vec>, - pub ctx: ExprContext, -} - -impl Node for ExprList { - const NAME: &'static str = "List"; - const FIELD_NAMES: &'static [&'static str] = &["elts", "ctx"]; -} -impl From> for Expr { - fn from(payload: ExprList) -> Self { - Expr::List(payload) - } -} -impl From> for Ast { - fn from(payload: ExprList) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Tuple](https://docs.python.org/3/library/ast.html#ast.Tuple) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprTuple { - pub range: R, - pub elts: Vec>, - pub ctx: ExprContext, -} - -impl Node for ExprTuple { - const NAME: &'static str = "Tuple"; - const FIELD_NAMES: &'static [&'static str] = &["elts", "ctx"]; -} -impl From> for Expr { - fn from(payload: ExprTuple) -> Self { - Expr::Tuple(payload) - } -} -impl From> for Ast { - fn from(payload: ExprTuple) -> Self { - Expr::from(payload).into() - } -} - -/// See also [Slice](https://docs.python.org/3/library/ast.html#ast.Slice) -#[derive(Clone, Debug, PartialEq)] -pub struct ExprSlice { - pub range: R, - pub lower: Option>>, - pub upper: Option>>, - pub step: Option>>, -} - -impl Node for ExprSlice { - const NAME: &'static str = "Slice"; - const FIELD_NAMES: &'static [&'static str] = &["lower", "upper", "step"]; -} -impl From> for Expr { - fn from(payload: ExprSlice) -> Self { - Expr::Slice(payload) - } -} -impl From> for Ast { - fn from(payload: ExprSlice) -> Self { - Expr::from(payload).into() - } -} - -impl Node for Expr { - const NAME: &'static str = "expr"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [expr_context](https://docs.python.org/3/library/ast.html#ast.expr_context) -#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] -pub enum ExprContext { - Load, - Store, - Del, -} -impl ExprContext { - #[inline] - pub const fn load(&self) -> Option { - match self { - ExprContext::Load => Some(ExprContextLoad), - _ => None, - } - } - - #[inline] - pub const fn store(&self) -> Option { - match self { - ExprContext::Store => Some(ExprContextStore), - _ => None, - } - } - - #[inline] - pub const fn del(&self) -> Option { - match self { - ExprContext::Del => Some(ExprContextDel), - _ => None, - } - } -} - -pub struct ExprContextLoad; -impl From for ExprContext { - fn from(_: ExprContextLoad) -> Self { - ExprContext::Load - } -} -impl From for Ast { - fn from(_: ExprContextLoad) -> Self { - ExprContext::Load.into() - } -} -impl Node for ExprContextLoad { - const NAME: &'static str = "Load"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for ExprContextLoad { - #[inline] - fn eq(&self, other: &ExprContext) -> bool { - matches!(other, ExprContext::Load) - } -} - -pub struct ExprContextStore; -impl From for ExprContext { - fn from(_: ExprContextStore) -> Self { - ExprContext::Store - } -} -impl From for Ast { - fn from(_: ExprContextStore) -> Self { - ExprContext::Store.into() - } -} -impl Node for ExprContextStore { - const NAME: &'static str = "Store"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for ExprContextStore { - #[inline] - fn eq(&self, other: &ExprContext) -> bool { - matches!(other, ExprContext::Store) - } -} - -pub struct ExprContextDel; -impl From for ExprContext { - fn from(_: ExprContextDel) -> Self { - ExprContext::Del - } -} -impl From for Ast { - fn from(_: ExprContextDel) -> Self { - ExprContext::Del.into() - } -} -impl Node for ExprContextDel { - const NAME: &'static str = "Del"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for ExprContextDel { - #[inline] - fn eq(&self, other: &ExprContext) -> bool { - matches!(other, ExprContext::Del) - } -} - -impl Node for ExprContext { - const NAME: &'static str = "expr_context"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [boolop](https://docs.python.org/3/library/ast.html#ast.boolop) -#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] -pub enum BoolOp { - And, - Or, -} -impl BoolOp { - #[inline] - pub const fn and(&self) -> Option { - match self { - BoolOp::And => Some(BoolOpAnd), - _ => None, - } - } - - #[inline] - pub const fn or(&self) -> Option { - match self { - BoolOp::Or => Some(BoolOpOr), - _ => None, - } - } -} - -pub struct BoolOpAnd; -impl From for BoolOp { - fn from(_: BoolOpAnd) -> Self { - BoolOp::And - } -} -impl From for Ast { - fn from(_: BoolOpAnd) -> Self { - BoolOp::And.into() - } -} -impl Node for BoolOpAnd { - const NAME: &'static str = "And"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for BoolOpAnd { - #[inline] - fn eq(&self, other: &BoolOp) -> bool { - matches!(other, BoolOp::And) - } -} - -pub struct BoolOpOr; -impl From for BoolOp { - fn from(_: BoolOpOr) -> Self { - BoolOp::Or - } -} -impl From for Ast { - fn from(_: BoolOpOr) -> Self { - BoolOp::Or.into() - } -} -impl Node for BoolOpOr { - const NAME: &'static str = "Or"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for BoolOpOr { - #[inline] - fn eq(&self, other: &BoolOp) -> bool { - matches!(other, BoolOp::Or) - } -} - -impl Node for BoolOp { - const NAME: &'static str = "boolop"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [operator](https://docs.python.org/3/library/ast.html#ast.operator) -#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] -pub enum Operator { - Add, - Sub, - Mult, - MatMult, - Div, - Mod, - Pow, - LShift, - RShift, - BitOr, - BitXor, - BitAnd, - FloorDiv, -} -impl Operator { - #[inline] - pub const fn operator_add(&self) -> Option { - match self { - Operator::Add => Some(OperatorAdd), - _ => None, - } - } - - #[inline] - pub const fn operator_sub(&self) -> Option { - match self { - Operator::Sub => Some(OperatorSub), - _ => None, - } - } - - #[inline] - pub const fn operator_mult(&self) -> Option { - match self { - Operator::Mult => Some(OperatorMult), - _ => None, - } - } - - #[inline] - pub const fn operator_mat_mult(&self) -> Option { - match self { - Operator::MatMult => Some(OperatorMatMult), - _ => None, - } - } - - #[inline] - pub const fn operator_div(&self) -> Option { - match self { - Operator::Div => Some(OperatorDiv), - _ => None, - } - } - - #[inline] - pub const fn operator_mod(&self) -> Option { - match self { - Operator::Mod => Some(OperatorMod), - _ => None, - } - } - - #[inline] - pub const fn operator_pow(&self) -> Option { - match self { - Operator::Pow => Some(OperatorPow), - _ => None, - } - } - - #[inline] - pub const fn operator_l_shift(&self) -> Option { - match self { - Operator::LShift => Some(OperatorLShift), - _ => None, - } - } - - #[inline] - pub const fn operator_r_shift(&self) -> Option { - match self { - Operator::RShift => Some(OperatorRShift), - _ => None, - } - } - - #[inline] - pub const fn operator_bit_or(&self) -> Option { - match self { - Operator::BitOr => Some(OperatorBitOr), - _ => None, - } - } - - #[inline] - pub const fn operator_bit_xor(&self) -> Option { - match self { - Operator::BitXor => Some(OperatorBitXor), - _ => None, - } - } - - #[inline] - pub const fn operator_bit_and(&self) -> Option { - match self { - Operator::BitAnd => Some(OperatorBitAnd), - _ => None, - } - } - - #[inline] - pub const fn operator_floor_div(&self) -> Option { - match self { - Operator::FloorDiv => Some(OperatorFloorDiv), - _ => None, - } - } -} - -pub struct OperatorAdd; -impl From for Operator { - fn from(_: OperatorAdd) -> Self { - Operator::Add - } -} -impl From for Ast { - fn from(_: OperatorAdd) -> Self { - Operator::Add.into() - } -} -impl Node for OperatorAdd { - const NAME: &'static str = "Add"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorAdd { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Add) - } -} - -pub struct OperatorSub; -impl From for Operator { - fn from(_: OperatorSub) -> Self { - Operator::Sub - } -} -impl From for Ast { - fn from(_: OperatorSub) -> Self { - Operator::Sub.into() - } -} -impl Node for OperatorSub { - const NAME: &'static str = "Sub"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorSub { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Sub) - } -} - -pub struct OperatorMult; -impl From for Operator { - fn from(_: OperatorMult) -> Self { - Operator::Mult - } -} -impl From for Ast { - fn from(_: OperatorMult) -> Self { - Operator::Mult.into() - } -} -impl Node for OperatorMult { - const NAME: &'static str = "Mult"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorMult { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Mult) - } -} - -pub struct OperatorMatMult; -impl From for Operator { - fn from(_: OperatorMatMult) -> Self { - Operator::MatMult - } -} -impl From for Ast { - fn from(_: OperatorMatMult) -> Self { - Operator::MatMult.into() - } -} -impl Node for OperatorMatMult { - const NAME: &'static str = "MatMult"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorMatMult { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::MatMult) - } -} - -pub struct OperatorDiv; -impl From for Operator { - fn from(_: OperatorDiv) -> Self { - Operator::Div - } -} -impl From for Ast { - fn from(_: OperatorDiv) -> Self { - Operator::Div.into() - } -} -impl Node for OperatorDiv { - const NAME: &'static str = "Div"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorDiv { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Div) - } -} - -pub struct OperatorMod; -impl From for Operator { - fn from(_: OperatorMod) -> Self { - Operator::Mod - } -} -impl From for Ast { - fn from(_: OperatorMod) -> Self { - Operator::Mod.into() - } -} -impl Node for OperatorMod { - const NAME: &'static str = "Mod"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorMod { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Mod) - } -} - -pub struct OperatorPow; -impl From for Operator { - fn from(_: OperatorPow) -> Self { - Operator::Pow - } -} -impl From for Ast { - fn from(_: OperatorPow) -> Self { - Operator::Pow.into() - } -} -impl Node for OperatorPow { - const NAME: &'static str = "Pow"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorPow { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::Pow) - } -} - -pub struct OperatorLShift; -impl From for Operator { - fn from(_: OperatorLShift) -> Self { - Operator::LShift - } -} -impl From for Ast { - fn from(_: OperatorLShift) -> Self { - Operator::LShift.into() - } -} -impl Node for OperatorLShift { - const NAME: &'static str = "LShift"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorLShift { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::LShift) - } -} - -pub struct OperatorRShift; -impl From for Operator { - fn from(_: OperatorRShift) -> Self { - Operator::RShift - } -} -impl From for Ast { - fn from(_: OperatorRShift) -> Self { - Operator::RShift.into() - } -} -impl Node for OperatorRShift { - const NAME: &'static str = "RShift"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorRShift { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::RShift) - } -} - -pub struct OperatorBitOr; -impl From for Operator { - fn from(_: OperatorBitOr) -> Self { - Operator::BitOr - } -} -impl From for Ast { - fn from(_: OperatorBitOr) -> Self { - Operator::BitOr.into() - } -} -impl Node for OperatorBitOr { - const NAME: &'static str = "BitOr"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorBitOr { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::BitOr) - } -} - -pub struct OperatorBitXor; -impl From for Operator { - fn from(_: OperatorBitXor) -> Self { - Operator::BitXor - } -} -impl From for Ast { - fn from(_: OperatorBitXor) -> Self { - Operator::BitXor.into() - } -} -impl Node for OperatorBitXor { - const NAME: &'static str = "BitXor"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorBitXor { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::BitXor) - } -} - -pub struct OperatorBitAnd; -impl From for Operator { - fn from(_: OperatorBitAnd) -> Self { - Operator::BitAnd - } -} -impl From for Ast { - fn from(_: OperatorBitAnd) -> Self { - Operator::BitAnd.into() - } -} -impl Node for OperatorBitAnd { - const NAME: &'static str = "BitAnd"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorBitAnd { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::BitAnd) - } -} - -pub struct OperatorFloorDiv; -impl From for Operator { - fn from(_: OperatorFloorDiv) -> Self { - Operator::FloorDiv - } -} -impl From for Ast { - fn from(_: OperatorFloorDiv) -> Self { - Operator::FloorDiv.into() - } -} -impl Node for OperatorFloorDiv { - const NAME: &'static str = "FloorDiv"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for OperatorFloorDiv { - #[inline] - fn eq(&self, other: &Operator) -> bool { - matches!(other, Operator::FloorDiv) - } -} - -impl Node for Operator { - const NAME: &'static str = "operator"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [unaryop](https://docs.python.org/3/library/ast.html#ast.unaryop) -#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] -pub enum UnaryOp { - Invert, - Not, - UAdd, - USub, -} -impl UnaryOp { - #[inline] - pub const fn invert(&self) -> Option { - match self { - UnaryOp::Invert => Some(UnaryOpInvert), - _ => None, - } - } - - #[inline] - pub const fn not(&self) -> Option { - match self { - UnaryOp::Not => Some(UnaryOpNot), - _ => None, - } - } - - #[inline] - pub const fn u_add(&self) -> Option { - match self { - UnaryOp::UAdd => Some(UnaryOpUAdd), - _ => None, - } - } - - #[inline] - pub const fn u_sub(&self) -> Option { - match self { - UnaryOp::USub => Some(UnaryOpUSub), - _ => None, - } - } -} - -pub struct UnaryOpInvert; -impl From for UnaryOp { - fn from(_: UnaryOpInvert) -> Self { - UnaryOp::Invert - } -} -impl From for Ast { - fn from(_: UnaryOpInvert) -> Self { - UnaryOp::Invert.into() - } -} -impl Node for UnaryOpInvert { - const NAME: &'static str = "Invert"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for UnaryOpInvert { - #[inline] - fn eq(&self, other: &UnaryOp) -> bool { - matches!(other, UnaryOp::Invert) - } -} - -pub struct UnaryOpNot; -impl From for UnaryOp { - fn from(_: UnaryOpNot) -> Self { - UnaryOp::Not - } -} -impl From for Ast { - fn from(_: UnaryOpNot) -> Self { - UnaryOp::Not.into() - } -} -impl Node for UnaryOpNot { - const NAME: &'static str = "Not"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for UnaryOpNot { - #[inline] - fn eq(&self, other: &UnaryOp) -> bool { - matches!(other, UnaryOp::Not) - } -} - -pub struct UnaryOpUAdd; -impl From for UnaryOp { - fn from(_: UnaryOpUAdd) -> Self { - UnaryOp::UAdd - } -} -impl From for Ast { - fn from(_: UnaryOpUAdd) -> Self { - UnaryOp::UAdd.into() - } -} -impl Node for UnaryOpUAdd { - const NAME: &'static str = "UAdd"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for UnaryOpUAdd { - #[inline] - fn eq(&self, other: &UnaryOp) -> bool { - matches!(other, UnaryOp::UAdd) - } -} - -pub struct UnaryOpUSub; -impl From for UnaryOp { - fn from(_: UnaryOpUSub) -> Self { - UnaryOp::USub - } -} -impl From for Ast { - fn from(_: UnaryOpUSub) -> Self { - UnaryOp::USub.into() - } -} -impl Node for UnaryOpUSub { - const NAME: &'static str = "USub"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for UnaryOpUSub { - #[inline] - fn eq(&self, other: &UnaryOp) -> bool { - matches!(other, UnaryOp::USub) - } -} - -impl Node for UnaryOp { - const NAME: &'static str = "unaryop"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [cmpop](https://docs.python.org/3/library/ast.html#ast.cmpop) -#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] -pub enum CmpOp { - Eq, - NotEq, - Lt, - LtE, - Gt, - GtE, - Is, - IsNot, - In, - NotIn, -} -impl CmpOp { - #[inline] - pub const fn cmp_op_eq(&self) -> Option { - match self { - CmpOp::Eq => Some(CmpOpEq), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_not_eq(&self) -> Option { - match self { - CmpOp::NotEq => Some(CmpOpNotEq), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_lt(&self) -> Option { - match self { - CmpOp::Lt => Some(CmpOpLt), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_lt_e(&self) -> Option { - match self { - CmpOp::LtE => Some(CmpOpLtE), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_gt(&self) -> Option { - match self { - CmpOp::Gt => Some(CmpOpGt), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_gt_e(&self) -> Option { - match self { - CmpOp::GtE => Some(CmpOpGtE), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_is(&self) -> Option { - match self { - CmpOp::Is => Some(CmpOpIs), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_is_not(&self) -> Option { - match self { - CmpOp::IsNot => Some(CmpOpIsNot), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_in(&self) -> Option { - match self { - CmpOp::In => Some(CmpOpIn), - _ => None, - } - } - - #[inline] - pub const fn cmp_op_not_in(&self) -> Option { - match self { - CmpOp::NotIn => Some(CmpOpNotIn), - _ => None, - } - } -} - -pub struct CmpOpEq; -impl From for CmpOp { - fn from(_: CmpOpEq) -> Self { - CmpOp::Eq - } -} -impl From for Ast { - fn from(_: CmpOpEq) -> Self { - CmpOp::Eq.into() - } -} -impl Node for CmpOpEq { - const NAME: &'static str = "Eq"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpEq { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::Eq) - } -} - -pub struct CmpOpNotEq; -impl From for CmpOp { - fn from(_: CmpOpNotEq) -> Self { - CmpOp::NotEq - } -} -impl From for Ast { - fn from(_: CmpOpNotEq) -> Self { - CmpOp::NotEq.into() - } -} -impl Node for CmpOpNotEq { - const NAME: &'static str = "NotEq"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpNotEq { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::NotEq) - } -} - -pub struct CmpOpLt; -impl From for CmpOp { - fn from(_: CmpOpLt) -> Self { - CmpOp::Lt - } -} -impl From for Ast { - fn from(_: CmpOpLt) -> Self { - CmpOp::Lt.into() - } -} -impl Node for CmpOpLt { - const NAME: &'static str = "Lt"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpLt { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::Lt) - } -} - -pub struct CmpOpLtE; -impl From for CmpOp { - fn from(_: CmpOpLtE) -> Self { - CmpOp::LtE - } -} -impl From for Ast { - fn from(_: CmpOpLtE) -> Self { - CmpOp::LtE.into() - } -} -impl Node for CmpOpLtE { - const NAME: &'static str = "LtE"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpLtE { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::LtE) - } -} - -pub struct CmpOpGt; -impl From for CmpOp { - fn from(_: CmpOpGt) -> Self { - CmpOp::Gt - } -} -impl From for Ast { - fn from(_: CmpOpGt) -> Self { - CmpOp::Gt.into() - } -} -impl Node for CmpOpGt { - const NAME: &'static str = "Gt"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpGt { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::Gt) - } -} - -pub struct CmpOpGtE; -impl From for CmpOp { - fn from(_: CmpOpGtE) -> Self { - CmpOp::GtE - } -} -impl From for Ast { - fn from(_: CmpOpGtE) -> Self { - CmpOp::GtE.into() - } -} -impl Node for CmpOpGtE { - const NAME: &'static str = "GtE"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpGtE { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::GtE) - } -} - -pub struct CmpOpIs; -impl From for CmpOp { - fn from(_: CmpOpIs) -> Self { - CmpOp::Is - } -} -impl From for Ast { - fn from(_: CmpOpIs) -> Self { - CmpOp::Is.into() - } -} -impl Node for CmpOpIs { - const NAME: &'static str = "Is"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpIs { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::Is) - } -} - -pub struct CmpOpIsNot; -impl From for CmpOp { - fn from(_: CmpOpIsNot) -> Self { - CmpOp::IsNot - } -} -impl From for Ast { - fn from(_: CmpOpIsNot) -> Self { - CmpOp::IsNot.into() - } -} -impl Node for CmpOpIsNot { - const NAME: &'static str = "IsNot"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpIsNot { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::IsNot) - } -} - -pub struct CmpOpIn; -impl From for CmpOp { - fn from(_: CmpOpIn) -> Self { - CmpOp::In - } -} -impl From for Ast { - fn from(_: CmpOpIn) -> Self { - CmpOp::In.into() - } -} -impl Node for CmpOpIn { - const NAME: &'static str = "In"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpIn { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::In) - } -} - -pub struct CmpOpNotIn; -impl From for CmpOp { - fn from(_: CmpOpNotIn) -> Self { - CmpOp::NotIn - } -} -impl From for Ast { - fn from(_: CmpOpNotIn) -> Self { - CmpOp::NotIn.into() - } -} -impl Node for CmpOpNotIn { - const NAME: &'static str = "NotIn"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} -impl std::cmp::PartialEq for CmpOpNotIn { - #[inline] - fn eq(&self, other: &CmpOp) -> bool { - matches!(other, CmpOp::NotIn) - } -} - -impl Node for CmpOp { - const NAME: &'static str = "cmpop"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [comprehension](https://docs.python.org/3/library/ast.html#ast.comprehension) -#[derive(Clone, Debug, PartialEq)] -pub struct Comprehension { - pub range: OptionalRange, - pub target: Expr, - pub iter: Expr, - pub ifs: Vec>, - pub is_async: bool, -} - -impl Node for Comprehension { - const NAME: &'static str = "comprehension"; - const FIELD_NAMES: &'static [&'static str] = &["target", "iter", "ifs", "is_async"]; -} - -/// See also [excepthandler](https://docs.python.org/3/library/ast.html#ast.excepthandler) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum ExceptHandler { - ExceptHandler(ExceptHandlerExceptHandler), -} - -/// See also [ExceptHandler](https://docs.python.org/3/library/ast.html#ast.ExceptHandler) -#[derive(Clone, Debug, PartialEq)] -pub struct ExceptHandlerExceptHandler { - pub range: R, - pub type_: Option>>, - pub name: Option, - pub body: Vec>, -} - -impl Node for ExceptHandlerExceptHandler { - const NAME: &'static str = "ExceptHandler"; - const FIELD_NAMES: &'static [&'static str] = &["type", "name", "body"]; -} -impl From> for ExceptHandler { - fn from(payload: ExceptHandlerExceptHandler) -> Self { - ExceptHandler::ExceptHandler(payload) - } -} -impl From> for Ast { - fn from(payload: ExceptHandlerExceptHandler) -> Self { - ExceptHandler::from(payload).into() - } -} - -impl Node for ExceptHandler { - const NAME: &'static str = "excepthandler"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [arguments](https://docs.python.org/3/library/ast.html#ast.arguments) -#[derive(Clone, Debug, PartialEq)] -pub struct PythonArguments { - pub range: OptionalRange, - pub posonlyargs: Vec>, - pub args: Vec>, - pub vararg: Option>>, - pub kwonlyargs: Vec>, - pub kw_defaults: Vec>, - pub kwarg: Option>>, - pub defaults: Vec>, -} - -impl Node for PythonArguments { - const NAME: &'static str = "arguments"; - const FIELD_NAMES: &'static [&'static str] = &[ - "posonlyargs", - "args", - "vararg", - "kwonlyargs", - "kw_defaults", - "kwarg", - "defaults", - ]; -} - -/// See also [arg](https://docs.python.org/3/library/ast.html#ast.arg) -#[derive(Clone, Debug, PartialEq)] -pub struct Arg { - pub range: R, - pub arg: Identifier, - pub annotation: Option>>, - pub type_comment: Option, -} - -impl Node for Arg { - const NAME: &'static str = "arg"; - const FIELD_NAMES: &'static [&'static str] = &["arg", "annotation", "type_comment"]; -} - -/// See also [keyword](https://docs.python.org/3/library/ast.html#ast.keyword) -#[derive(Clone, Debug, PartialEq)] -pub struct Keyword { - pub range: R, - pub arg: Option, - pub value: Expr, -} - -impl Node for Keyword { - const NAME: &'static str = "keyword"; - const FIELD_NAMES: &'static [&'static str] = &["arg", "value"]; -} - -/// See also [alias](https://docs.python.org/3/library/ast.html#ast.alias) -#[derive(Clone, Debug, PartialEq)] -pub struct Alias { - pub range: R, - pub name: Identifier, - pub asname: Option, -} - -impl Node for Alias { - const NAME: &'static str = "alias"; - const FIELD_NAMES: &'static [&'static str] = &["name", "asname"]; -} - -/// See also [withitem](https://docs.python.org/3/library/ast.html#ast.withitem) -#[derive(Clone, Debug, PartialEq)] -pub struct WithItem { - pub range: OptionalRange, - pub context_expr: Expr, - pub optional_vars: Option>>, -} - -impl Node for WithItem { - const NAME: &'static str = "withitem"; - const FIELD_NAMES: &'static [&'static str] = &["context_expr", "optional_vars"]; -} - -/// See also [match_case](https://docs.python.org/3/library/ast.html#ast.match_case) -#[derive(Clone, Debug, PartialEq)] -pub struct MatchCase { - pub range: OptionalRange, - pub pattern: Pattern, - pub guard: Option>>, - pub body: Vec>, -} - -impl Node for MatchCase { - const NAME: &'static str = "match_case"; - const FIELD_NAMES: &'static [&'static str] = &["pattern", "guard", "body"]; -} - -/// See also [pattern](https://docs.python.org/3/library/ast.html#ast.pattern) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum Pattern { - MatchValue(PatternMatchValue), - MatchSingleton(PatternMatchSingleton), - MatchSequence(PatternMatchSequence), - MatchMapping(PatternMatchMapping), - MatchClass(PatternMatchClass), - MatchStar(PatternMatchStar), - MatchAs(PatternMatchAs), - MatchOr(PatternMatchOr), -} - -/// See also [MatchValue](https://docs.python.org/3/library/ast.html#ast.MatchValue) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchValue { - pub range: R, - pub value: Box>, -} - -impl Node for PatternMatchValue { - const NAME: &'static str = "MatchValue"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From> for Pattern { - fn from(payload: PatternMatchValue) -> Self { - Pattern::MatchValue(payload) - } -} -impl From> for Ast { - fn from(payload: PatternMatchValue) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchSingleton](https://docs.python.org/3/library/ast.html#ast.MatchSingleton) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchSingleton { - pub range: R, - pub value: Constant, -} - -impl Node for PatternMatchSingleton { - const NAME: &'static str = "MatchSingleton"; - const FIELD_NAMES: &'static [&'static str] = &["value"]; -} -impl From> for Pattern { - fn from(payload: PatternMatchSingleton) -> Self { - Pattern::MatchSingleton(payload) - } -} -impl From> for Ast { - fn from(payload: PatternMatchSingleton) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchSequence](https://docs.python.org/3/library/ast.html#ast.MatchSequence) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchSequence { - pub range: R, - pub patterns: Vec>, -} - -impl Node for PatternMatchSequence { - const NAME: &'static str = "MatchSequence"; - const FIELD_NAMES: &'static [&'static str] = &["patterns"]; -} -impl From> for Pattern { - fn from(payload: PatternMatchSequence) -> Self { - Pattern::MatchSequence(payload) - } -} -impl From> for Ast { - fn from(payload: PatternMatchSequence) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchMapping](https://docs.python.org/3/library/ast.html#ast.MatchMapping) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchMapping { - pub range: R, - pub keys: Vec>, - pub patterns: Vec>, - pub rest: Option, -} - -impl Node for PatternMatchMapping { - const NAME: &'static str = "MatchMapping"; - const FIELD_NAMES: &'static [&'static str] = &["keys", "patterns", "rest"]; -} -impl From> for Pattern { - fn from(payload: PatternMatchMapping) -> Self { - Pattern::MatchMapping(payload) - } -} -impl From> for Ast { - fn from(payload: PatternMatchMapping) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchClass](https://docs.python.org/3/library/ast.html#ast.MatchClass) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchClass { - pub range: R, - pub cls: Box>, - pub patterns: Vec>, - pub kwd_attrs: Vec, - pub kwd_patterns: Vec>, -} - -impl Node for PatternMatchClass { - const NAME: &'static str = "MatchClass"; - const FIELD_NAMES: &'static [&'static str] = &["cls", "patterns", "kwd_attrs", "kwd_patterns"]; -} -impl From> for Pattern { - fn from(payload: PatternMatchClass) -> Self { - Pattern::MatchClass(payload) - } -} -impl From> for Ast { - fn from(payload: PatternMatchClass) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchStar](https://docs.python.org/3/library/ast.html#ast.MatchStar) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchStar { - pub range: R, - pub name: Option, -} - -impl Node for PatternMatchStar { - const NAME: &'static str = "MatchStar"; - const FIELD_NAMES: &'static [&'static str] = &["name"]; -} -impl From> for Pattern { - fn from(payload: PatternMatchStar) -> Self { - Pattern::MatchStar(payload) - } -} -impl From> for Ast { - fn from(payload: PatternMatchStar) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchAs](https://docs.python.org/3/library/ast.html#ast.MatchAs) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchAs { - pub range: R, - pub pattern: Option>>, - pub name: Option, -} - -impl Node for PatternMatchAs { - const NAME: &'static str = "MatchAs"; - const FIELD_NAMES: &'static [&'static str] = &["pattern", "name"]; -} -impl From> for Pattern { - fn from(payload: PatternMatchAs) -> Self { - Pattern::MatchAs(payload) - } -} -impl From> for Ast { - fn from(payload: PatternMatchAs) -> Self { - Pattern::from(payload).into() - } -} - -/// See also [MatchOr](https://docs.python.org/3/library/ast.html#ast.MatchOr) -#[derive(Clone, Debug, PartialEq)] -pub struct PatternMatchOr { - pub range: R, - pub patterns: Vec>, -} - -impl Node for PatternMatchOr { - const NAME: &'static str = "MatchOr"; - const FIELD_NAMES: &'static [&'static str] = &["patterns"]; -} -impl From> for Pattern { - fn from(payload: PatternMatchOr) -> Self { - Pattern::MatchOr(payload) - } -} -impl From> for Ast { - fn from(payload: PatternMatchOr) -> Self { - Pattern::from(payload).into() - } -} - -impl Node for Pattern { - const NAME: &'static str = "pattern"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// See also [type_ignore](https://docs.python.org/3/library/ast.html#ast.type_ignore) -#[derive(Clone, Debug, PartialEq, is_macro::Is)] -pub enum TypeIgnore { - TypeIgnore(TypeIgnoreTypeIgnore), -} - -/// See also [TypeIgnore](https://docs.python.org/3/library/ast.html#ast.TypeIgnore) -#[derive(Clone, Debug, PartialEq)] -pub struct TypeIgnoreTypeIgnore { - pub range: OptionalRange, - pub lineno: Int, - pub tag: String, -} - -impl Node for TypeIgnoreTypeIgnore { - const NAME: &'static str = "TypeIgnore"; - const FIELD_NAMES: &'static [&'static str] = &["lineno", "tag"]; -} -impl From> for TypeIgnore { - fn from(payload: TypeIgnoreTypeIgnore) -> Self { - TypeIgnore::TypeIgnore(payload) - } -} -impl From> for Ast { - fn from(payload: TypeIgnoreTypeIgnore) -> Self { - TypeIgnore::from(payload).into() - } -} - -impl Node for TypeIgnore { - const NAME: &'static str = "type_ignore"; - const FIELD_NAMES: &'static [&'static str] = &[]; -} - -/// An alternative type of AST `arguments`. This is parser-friendly and human-friendly definition of function arguments. -/// This form also has advantage to implement pre-order traverse. -/// `defaults` and `kw_defaults` fields are removed and the default values are placed under each `arg_with_default` typed argument. -/// `vararg` and `kwarg` are still typed as `arg` because they never can have a default value. -/// -/// The matching Python style AST type is [PythonArguments]. While [PythonArguments] has ordered `kwonlyargs` fields by -/// default existence, [Arguments] has location-ordered kwonlyargs fields. -/// -/// NOTE: This type is different from original Python AST. - -#[derive(Clone, Debug, PartialEq)] -pub struct Arguments { - pub range: OptionalRange, - pub posonlyargs: Vec>, - pub args: Vec>, - pub vararg: Option>>, - pub kwonlyargs: Vec>, - pub kwarg: Option>>, -} - -impl Node for Arguments { - const NAME: &'static str = "alt:arguments"; - const FIELD_NAMES: &'static [&'static str] = - &["posonlyargs", "args", "vararg", "kwonlyargs", "kwarg"]; -} - -/// An alternative type of AST `arg`. This is used for each function argument that might have a default value. -/// Used by `Arguments` original type. -/// -/// NOTE: This type is different from original Python AST. - -#[derive(Clone, Debug, PartialEq)] -pub struct ArgWithDefault { - pub range: OptionalRange, - pub def: Arg, - pub default: Option>>, -} - -impl Node for ArgWithDefault { - const NAME: &'static str = "arg_with_default"; - const FIELD_NAMES: &'static [&'static str] = &["def", "default"]; -} diff --git a/ast/src/gen/located.rs b/ast/src/gen/located.rs deleted file mode 100644 index 63a7b474..00000000 --- a/ast/src/gen/located.rs +++ /dev/null @@ -1,1398 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -pub type Mod = crate::generic::Mod; - -pub type ModModule = crate::generic::ModModule; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for ModModule { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for ModModule { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ModInteractive = crate::generic::ModInteractive; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for ModInteractive { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for ModInteractive { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ModExpression = crate::generic::ModExpression; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for ModExpression { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for ModExpression { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ModFunctionType = crate::generic::ModFunctionType; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for ModFunctionType { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for ModFunctionType { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for Mod { - fn range(&self) -> SourceRange { - match self { - Self::Module(node) => node.range(), - Self::Interactive(node) => node.range(), - Self::Expression(node) => node.range(), - Self::FunctionType(node) => node.range(), - } - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for Mod { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::Module(node) => node.range_mut(), - Self::Interactive(node) => node.range_mut(), - Self::Expression(node) => node.range_mut(), - Self::FunctionType(node) => node.range_mut(), - } - } -} - -pub type Stmt = crate::generic::Stmt; - -pub type StmtFunctionDef = crate::generic::StmtFunctionDef; - -impl Located for StmtFunctionDef { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtFunctionDef { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAsyncFunctionDef = crate::generic::StmtAsyncFunctionDef; - -impl Located for StmtAsyncFunctionDef { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAsyncFunctionDef { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtClassDef = crate::generic::StmtClassDef; - -impl Located for StmtClassDef { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtClassDef { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtReturn = crate::generic::StmtReturn; - -impl Located for StmtReturn { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtReturn { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtDelete = crate::generic::StmtDelete; - -impl Located for StmtDelete { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtDelete { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAssign = crate::generic::StmtAssign; - -impl Located for StmtAssign { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAssign { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAugAssign = crate::generic::StmtAugAssign; - -impl Located for StmtAugAssign { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAugAssign { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAnnAssign = crate::generic::StmtAnnAssign; - -impl Located for StmtAnnAssign { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAnnAssign { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtFor = crate::generic::StmtFor; - -impl Located for StmtFor { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtFor { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAsyncFor = crate::generic::StmtAsyncFor; - -impl Located for StmtAsyncFor { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAsyncFor { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtWhile = crate::generic::StmtWhile; - -impl Located for StmtWhile { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtWhile { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtIf = crate::generic::StmtIf; - -impl Located for StmtIf { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtIf { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtWith = crate::generic::StmtWith; - -impl Located for StmtWith { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtWith { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAsyncWith = crate::generic::StmtAsyncWith; - -impl Located for StmtAsyncWith { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAsyncWith { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtMatch = crate::generic::StmtMatch; - -impl Located for StmtMatch { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtMatch { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtRaise = crate::generic::StmtRaise; - -impl Located for StmtRaise { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtRaise { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtTry = crate::generic::StmtTry; - -impl Located for StmtTry { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtTry { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtTryStar = crate::generic::StmtTryStar; - -impl Located for StmtTryStar { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtTryStar { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtAssert = crate::generic::StmtAssert; - -impl Located for StmtAssert { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtAssert { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtImport = crate::generic::StmtImport; - -impl Located for StmtImport { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtImport { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtImportFrom = crate::generic::StmtImportFrom; - -impl Located for StmtImportFrom { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtImportFrom { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtGlobal = crate::generic::StmtGlobal; - -impl Located for StmtGlobal { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtGlobal { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtNonlocal = crate::generic::StmtNonlocal; - -impl Located for StmtNonlocal { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtNonlocal { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtExpr = crate::generic::StmtExpr; - -impl Located for StmtExpr { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtExpr { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtPass = crate::generic::StmtPass; - -impl Located for StmtPass { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtPass { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtBreak = crate::generic::StmtBreak; - -impl Located for StmtBreak { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtBreak { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type StmtContinue = crate::generic::StmtContinue; - -impl Located for StmtContinue { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for StmtContinue { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -impl Located for Stmt { - fn range(&self) -> SourceRange { - match self { - Self::FunctionDef(node) => node.range(), - Self::AsyncFunctionDef(node) => node.range(), - Self::ClassDef(node) => node.range(), - Self::Return(node) => node.range(), - Self::Delete(node) => node.range(), - Self::Assign(node) => node.range(), - Self::AugAssign(node) => node.range(), - Self::AnnAssign(node) => node.range(), - Self::For(node) => node.range(), - Self::AsyncFor(node) => node.range(), - Self::While(node) => node.range(), - Self::If(node) => node.range(), - Self::With(node) => node.range(), - Self::AsyncWith(node) => node.range(), - Self::Match(node) => node.range(), - Self::Raise(node) => node.range(), - Self::Try(node) => node.range(), - Self::TryStar(node) => node.range(), - Self::Assert(node) => node.range(), - Self::Import(node) => node.range(), - Self::ImportFrom(node) => node.range(), - Self::Global(node) => node.range(), - Self::Nonlocal(node) => node.range(), - Self::Expr(node) => node.range(), - Self::Pass(node) => node.range(), - Self::Break(node) => node.range(), - Self::Continue(node) => node.range(), - } - } -} - -impl LocatedMut for Stmt { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::FunctionDef(node) => node.range_mut(), - Self::AsyncFunctionDef(node) => node.range_mut(), - Self::ClassDef(node) => node.range_mut(), - Self::Return(node) => node.range_mut(), - Self::Delete(node) => node.range_mut(), - Self::Assign(node) => node.range_mut(), - Self::AugAssign(node) => node.range_mut(), - Self::AnnAssign(node) => node.range_mut(), - Self::For(node) => node.range_mut(), - Self::AsyncFor(node) => node.range_mut(), - Self::While(node) => node.range_mut(), - Self::If(node) => node.range_mut(), - Self::With(node) => node.range_mut(), - Self::AsyncWith(node) => node.range_mut(), - Self::Match(node) => node.range_mut(), - Self::Raise(node) => node.range_mut(), - Self::Try(node) => node.range_mut(), - Self::TryStar(node) => node.range_mut(), - Self::Assert(node) => node.range_mut(), - Self::Import(node) => node.range_mut(), - Self::ImportFrom(node) => node.range_mut(), - Self::Global(node) => node.range_mut(), - Self::Nonlocal(node) => node.range_mut(), - Self::Expr(node) => node.range_mut(), - Self::Pass(node) => node.range_mut(), - Self::Break(node) => node.range_mut(), - Self::Continue(node) => node.range_mut(), - } - } -} - -pub type Expr = crate::generic::Expr; - -pub type ExprBoolOp = crate::generic::ExprBoolOp; - -impl Located for ExprBoolOp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprBoolOp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprNamedExpr = crate::generic::ExprNamedExpr; - -impl Located for ExprNamedExpr { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprNamedExpr { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprBinOp = crate::generic::ExprBinOp; - -impl Located for ExprBinOp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprBinOp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprUnaryOp = crate::generic::ExprUnaryOp; - -impl Located for ExprUnaryOp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprUnaryOp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprLambda = crate::generic::ExprLambda; - -impl Located for ExprLambda { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprLambda { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprIfExp = crate::generic::ExprIfExp; - -impl Located for ExprIfExp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprIfExp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprDict = crate::generic::ExprDict; - -impl Located for ExprDict { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprDict { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprSet = crate::generic::ExprSet; - -impl Located for ExprSet { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprSet { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprListComp = crate::generic::ExprListComp; - -impl Located for ExprListComp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprListComp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprSetComp = crate::generic::ExprSetComp; - -impl Located for ExprSetComp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprSetComp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprDictComp = crate::generic::ExprDictComp; - -impl Located for ExprDictComp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprDictComp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprGeneratorExp = crate::generic::ExprGeneratorExp; - -impl Located for ExprGeneratorExp { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprGeneratorExp { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprAwait = crate::generic::ExprAwait; - -impl Located for ExprAwait { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprAwait { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprYield = crate::generic::ExprYield; - -impl Located for ExprYield { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprYield { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprYieldFrom = crate::generic::ExprYieldFrom; - -impl Located for ExprYieldFrom { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprYieldFrom { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprCompare = crate::generic::ExprCompare; - -impl Located for ExprCompare { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprCompare { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprCall = crate::generic::ExprCall; - -impl Located for ExprCall { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprCall { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprFormattedValue = crate::generic::ExprFormattedValue; - -impl Located for ExprFormattedValue { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprFormattedValue { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprJoinedStr = crate::generic::ExprJoinedStr; - -impl Located for ExprJoinedStr { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprJoinedStr { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprConstant = crate::generic::ExprConstant; - -impl Located for ExprConstant { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprConstant { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprAttribute = crate::generic::ExprAttribute; - -impl Located for ExprAttribute { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprAttribute { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprSubscript = crate::generic::ExprSubscript; - -impl Located for ExprSubscript { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprSubscript { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprStarred = crate::generic::ExprStarred; - -impl Located for ExprStarred { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprStarred { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprName = crate::generic::ExprName; - -impl Located for ExprName { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprName { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprList = crate::generic::ExprList; - -impl Located for ExprList { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprList { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprTuple = crate::generic::ExprTuple; - -impl Located for ExprTuple { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprTuple { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExprSlice = crate::generic::ExprSlice; - -impl Located for ExprSlice { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExprSlice { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -impl Located for Expr { - fn range(&self) -> SourceRange { - match self { - Self::BoolOp(node) => node.range(), - Self::NamedExpr(node) => node.range(), - Self::BinOp(node) => node.range(), - Self::UnaryOp(node) => node.range(), - Self::Lambda(node) => node.range(), - Self::IfExp(node) => node.range(), - Self::Dict(node) => node.range(), - Self::Set(node) => node.range(), - Self::ListComp(node) => node.range(), - Self::SetComp(node) => node.range(), - Self::DictComp(node) => node.range(), - Self::GeneratorExp(node) => node.range(), - Self::Await(node) => node.range(), - Self::Yield(node) => node.range(), - Self::YieldFrom(node) => node.range(), - Self::Compare(node) => node.range(), - Self::Call(node) => node.range(), - Self::FormattedValue(node) => node.range(), - Self::JoinedStr(node) => node.range(), - Self::Constant(node) => node.range(), - Self::Attribute(node) => node.range(), - Self::Subscript(node) => node.range(), - Self::Starred(node) => node.range(), - Self::Name(node) => node.range(), - Self::List(node) => node.range(), - Self::Tuple(node) => node.range(), - Self::Slice(node) => node.range(), - } - } -} - -impl LocatedMut for Expr { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::BoolOp(node) => node.range_mut(), - Self::NamedExpr(node) => node.range_mut(), - Self::BinOp(node) => node.range_mut(), - Self::UnaryOp(node) => node.range_mut(), - Self::Lambda(node) => node.range_mut(), - Self::IfExp(node) => node.range_mut(), - Self::Dict(node) => node.range_mut(), - Self::Set(node) => node.range_mut(), - Self::ListComp(node) => node.range_mut(), - Self::SetComp(node) => node.range_mut(), - Self::DictComp(node) => node.range_mut(), - Self::GeneratorExp(node) => node.range_mut(), - Self::Await(node) => node.range_mut(), - Self::Yield(node) => node.range_mut(), - Self::YieldFrom(node) => node.range_mut(), - Self::Compare(node) => node.range_mut(), - Self::Call(node) => node.range_mut(), - Self::FormattedValue(node) => node.range_mut(), - Self::JoinedStr(node) => node.range_mut(), - Self::Constant(node) => node.range_mut(), - Self::Attribute(node) => node.range_mut(), - Self::Subscript(node) => node.range_mut(), - Self::Starred(node) => node.range_mut(), - Self::Name(node) => node.range_mut(), - Self::List(node) => node.range_mut(), - Self::Tuple(node) => node.range_mut(), - Self::Slice(node) => node.range_mut(), - } - } -} - -pub type ExprContext = crate::generic::ExprContext; - -pub type ExprContextLoad = crate::generic::ExprContextLoad; - -pub type ExprContextStore = crate::generic::ExprContextStore; - -pub type ExprContextDel = crate::generic::ExprContextDel; - -pub type BoolOp = crate::generic::BoolOp; - -pub type BoolOpAnd = crate::generic::BoolOpAnd; - -pub type BoolOpOr = crate::generic::BoolOpOr; - -pub type Operator = crate::generic::Operator; - -pub type OperatorAdd = crate::generic::OperatorAdd; - -pub type OperatorSub = crate::generic::OperatorSub; - -pub type OperatorMult = crate::generic::OperatorMult; - -pub type OperatorMatMult = crate::generic::OperatorMatMult; - -pub type OperatorDiv = crate::generic::OperatorDiv; - -pub type OperatorMod = crate::generic::OperatorMod; - -pub type OperatorPow = crate::generic::OperatorPow; - -pub type OperatorLShift = crate::generic::OperatorLShift; - -pub type OperatorRShift = crate::generic::OperatorRShift; - -pub type OperatorBitOr = crate::generic::OperatorBitOr; - -pub type OperatorBitXor = crate::generic::OperatorBitXor; - -pub type OperatorBitAnd = crate::generic::OperatorBitAnd; - -pub type OperatorFloorDiv = crate::generic::OperatorFloorDiv; - -pub type UnaryOp = crate::generic::UnaryOp; - -pub type UnaryOpInvert = crate::generic::UnaryOpInvert; - -pub type UnaryOpNot = crate::generic::UnaryOpNot; - -pub type UnaryOpUAdd = crate::generic::UnaryOpUAdd; - -pub type UnaryOpUSub = crate::generic::UnaryOpUSub; - -pub type CmpOp = crate::generic::CmpOp; - -pub type CmpOpEq = crate::generic::CmpOpEq; - -pub type CmpOpNotEq = crate::generic::CmpOpNotEq; - -pub type CmpOpLt = crate::generic::CmpOpLt; - -pub type CmpOpLtE = crate::generic::CmpOpLtE; - -pub type CmpOpGt = crate::generic::CmpOpGt; - -pub type CmpOpGtE = crate::generic::CmpOpGtE; - -pub type CmpOpIs = crate::generic::CmpOpIs; - -pub type CmpOpIsNot = crate::generic::CmpOpIsNot; - -pub type CmpOpIn = crate::generic::CmpOpIn; - -pub type CmpOpNotIn = crate::generic::CmpOpNotIn; - -pub type Comprehension = crate::generic::Comprehension; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for Comprehension { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for Comprehension { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ExceptHandler = crate::generic::ExceptHandler; - -pub type ExceptHandlerExceptHandler = crate::generic::ExceptHandlerExceptHandler; - -impl Located for ExceptHandlerExceptHandler { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for ExceptHandlerExceptHandler { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -impl Located for ExceptHandler { - fn range(&self) -> SourceRange { - match self { - Self::ExceptHandler(node) => node.range(), - } - } -} - -impl LocatedMut for ExceptHandler { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::ExceptHandler(node) => node.range_mut(), - } - } -} - -pub type PythonArguments = crate::generic::PythonArguments; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for PythonArguments { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for PythonArguments { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type Arg = crate::generic::Arg; - -impl Located for Arg { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for Arg { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type Keyword = crate::generic::Keyword; - -impl Located for Keyword { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for Keyword { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type Alias = crate::generic::Alias; - -impl Located for Alias { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for Alias { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type WithItem = crate::generic::WithItem; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for WithItem { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for WithItem { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type MatchCase = crate::generic::MatchCase; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for MatchCase { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for MatchCase { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type Pattern = crate::generic::Pattern; - -pub type PatternMatchValue = crate::generic::PatternMatchValue; - -impl Located for PatternMatchValue { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchValue { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchSingleton = crate::generic::PatternMatchSingleton; - -impl Located for PatternMatchSingleton { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchSingleton { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchSequence = crate::generic::PatternMatchSequence; - -impl Located for PatternMatchSequence { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchSequence { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchMapping = crate::generic::PatternMatchMapping; - -impl Located for PatternMatchMapping { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchMapping { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchClass = crate::generic::PatternMatchClass; - -impl Located for PatternMatchClass { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchClass { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchStar = crate::generic::PatternMatchStar; - -impl Located for PatternMatchStar { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchStar { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchAs = crate::generic::PatternMatchAs; - -impl Located for PatternMatchAs { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchAs { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type PatternMatchOr = crate::generic::PatternMatchOr; - -impl Located for PatternMatchOr { - fn range(&self) -> SourceRange { - self.range - } -} - -impl LocatedMut for PatternMatchOr { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -impl Located for Pattern { - fn range(&self) -> SourceRange { - match self { - Self::MatchValue(node) => node.range(), - Self::MatchSingleton(node) => node.range(), - Self::MatchSequence(node) => node.range(), - Self::MatchMapping(node) => node.range(), - Self::MatchClass(node) => node.range(), - Self::MatchStar(node) => node.range(), - Self::MatchAs(node) => node.range(), - Self::MatchOr(node) => node.range(), - } - } -} - -impl LocatedMut for Pattern { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::MatchValue(node) => node.range_mut(), - Self::MatchSingleton(node) => node.range_mut(), - Self::MatchSequence(node) => node.range_mut(), - Self::MatchMapping(node) => node.range_mut(), - Self::MatchClass(node) => node.range_mut(), - Self::MatchStar(node) => node.range_mut(), - Self::MatchAs(node) => node.range_mut(), - Self::MatchOr(node) => node.range_mut(), - } - } -} - -pub type TypeIgnore = crate::generic::TypeIgnore; - -pub type TypeIgnoreTypeIgnore = crate::generic::TypeIgnoreTypeIgnore; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for TypeIgnoreTypeIgnore { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for TypeIgnoreTypeIgnore { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for TypeIgnore { - fn range(&self) -> SourceRange { - match self { - Self::TypeIgnore(node) => node.range(), - } - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for TypeIgnore { - fn range_mut(&mut self) -> &mut SourceRange { - match self { - Self::TypeIgnore(node) => node.range_mut(), - } - } -} - -pub type Arguments = crate::generic::Arguments; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for Arguments { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for Arguments { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} - -pub type ArgWithDefault = crate::generic::ArgWithDefault; - -#[cfg(feature = "all-nodes-with-ranges")] -impl Located for ArgWithDefault { - fn range(&self) -> SourceRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl LocatedMut for ArgWithDefault { - fn range_mut(&mut self) -> &mut SourceRange { - &mut self.range - } -} diff --git a/ast/src/gen/ranged.rs b/ast/src/gen/ranged.rs deleted file mode 100644 index c6a2ea35..00000000 --- a/ast/src/gen/ranged.rs +++ /dev/null @@ -1,510 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::ModModule { - fn range(&self) -> TextRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::ModInteractive { - fn range(&self) -> TextRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::ModExpression { - fn range(&self) -> TextRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::ModFunctionType { - fn range(&self) -> TextRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::Mod { - fn range(&self) -> TextRange { - match self { - Self::Module(node) => node.range(), - Self::Interactive(node) => node.range(), - Self::Expression(node) => node.range(), - Self::FunctionType(node) => node.range(), - } - } -} - -impl Ranged for crate::generic::StmtFunctionDef { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAsyncFunctionDef { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtClassDef { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtReturn { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtDelete { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAssign { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAugAssign { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAnnAssign { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtFor { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAsyncFor { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtWhile { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtIf { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtWith { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAsyncWith { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtMatch { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtRaise { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtTry { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtTryStar { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtAssert { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtImport { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtImportFrom { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtGlobal { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtNonlocal { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtExpr { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtPass { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtBreak { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::StmtContinue { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::Stmt { - fn range(&self) -> TextRange { - match self { - Self::FunctionDef(node) => node.range(), - Self::AsyncFunctionDef(node) => node.range(), - Self::ClassDef(node) => node.range(), - Self::Return(node) => node.range(), - Self::Delete(node) => node.range(), - Self::Assign(node) => node.range(), - Self::AugAssign(node) => node.range(), - Self::AnnAssign(node) => node.range(), - Self::For(node) => node.range(), - Self::AsyncFor(node) => node.range(), - Self::While(node) => node.range(), - Self::If(node) => node.range(), - Self::With(node) => node.range(), - Self::AsyncWith(node) => node.range(), - Self::Match(node) => node.range(), - Self::Raise(node) => node.range(), - Self::Try(node) => node.range(), - Self::TryStar(node) => node.range(), - Self::Assert(node) => node.range(), - Self::Import(node) => node.range(), - Self::ImportFrom(node) => node.range(), - Self::Global(node) => node.range(), - Self::Nonlocal(node) => node.range(), - Self::Expr(node) => node.range(), - Self::Pass(node) => node.range(), - Self::Break(node) => node.range(), - Self::Continue(node) => node.range(), - } - } -} - -impl Ranged for crate::generic::ExprBoolOp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprNamedExpr { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprBinOp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprUnaryOp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprLambda { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprIfExp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprDict { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprSet { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprListComp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprSetComp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprDictComp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprGeneratorExp { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprAwait { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprYield { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprYieldFrom { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprCompare { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprCall { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprFormattedValue { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprJoinedStr { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprConstant { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprAttribute { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprSubscript { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprStarred { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprName { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprList { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprTuple { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExprSlice { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::Expr { - fn range(&self) -> TextRange { - match self { - Self::BoolOp(node) => node.range(), - Self::NamedExpr(node) => node.range(), - Self::BinOp(node) => node.range(), - Self::UnaryOp(node) => node.range(), - Self::Lambda(node) => node.range(), - Self::IfExp(node) => node.range(), - Self::Dict(node) => node.range(), - Self::Set(node) => node.range(), - Self::ListComp(node) => node.range(), - Self::SetComp(node) => node.range(), - Self::DictComp(node) => node.range(), - Self::GeneratorExp(node) => node.range(), - Self::Await(node) => node.range(), - Self::Yield(node) => node.range(), - Self::YieldFrom(node) => node.range(), - Self::Compare(node) => node.range(), - Self::Call(node) => node.range(), - Self::FormattedValue(node) => node.range(), - Self::JoinedStr(node) => node.range(), - Self::Constant(node) => node.range(), - Self::Attribute(node) => node.range(), - Self::Subscript(node) => node.range(), - Self::Starred(node) => node.range(), - Self::Name(node) => node.range(), - Self::List(node) => node.range(), - Self::Tuple(node) => node.range(), - Self::Slice(node) => node.range(), - } - } -} - -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::Comprehension { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::ExceptHandlerExceptHandler { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::ExceptHandler { - fn range(&self) -> TextRange { - match self { - Self::ExceptHandler(node) => node.range(), - } - } -} - -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::PythonArguments { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::Arg { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::Keyword { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::Alias { - fn range(&self) -> TextRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::WithItem { - fn range(&self) -> TextRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::MatchCase { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchValue { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchSingleton { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchSequence { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchMapping { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchClass { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchStar { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchAs { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::generic::PatternMatchOr { - fn range(&self) -> TextRange { - self.range - } -} -impl Ranged for crate::Pattern { - fn range(&self) -> TextRange { - match self { - Self::MatchValue(node) => node.range(), - Self::MatchSingleton(node) => node.range(), - Self::MatchSequence(node) => node.range(), - Self::MatchMapping(node) => node.range(), - Self::MatchClass(node) => node.range(), - Self::MatchStar(node) => node.range(), - Self::MatchAs(node) => node.range(), - Self::MatchOr(node) => node.range(), - } - } -} - -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::TypeIgnoreTypeIgnore { - fn range(&self) -> TextRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::TypeIgnore { - fn range(&self) -> TextRange { - match self { - Self::TypeIgnore(node) => node.range(), - } - } -} - -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::Arguments { - fn range(&self) -> TextRange { - self.range - } -} -#[cfg(feature = "all-nodes-with-ranges")] -impl Ranged for crate::generic::ArgWithDefault { - fn range(&self) -> TextRange { - self.range - } -} diff --git a/ast/src/gen/visitor.rs b/ast/src/gen/visitor.rs deleted file mode 100644 index af5fcabe..00000000 --- a/ast/src/gen/visitor.rs +++ /dev/null @@ -1,813 +0,0 @@ -// File automatically generated by ast/asdl_rs.py. - -#[allow(unused_variables)] -pub trait Visitor { - fn visit_stmt(&mut self, node: Stmt) { - self.generic_visit_stmt(node) - } - fn generic_visit_stmt(&mut self, node: Stmt) { - match node { - Stmt::FunctionDef(data) => self.visit_stmt_function_def(data), - Stmt::AsyncFunctionDef(data) => self.visit_stmt_async_function_def(data), - Stmt::ClassDef(data) => self.visit_stmt_class_def(data), - Stmt::Return(data) => self.visit_stmt_return(data), - Stmt::Delete(data) => self.visit_stmt_delete(data), - Stmt::Assign(data) => self.visit_stmt_assign(data), - Stmt::AugAssign(data) => self.visit_stmt_aug_assign(data), - Stmt::AnnAssign(data) => self.visit_stmt_ann_assign(data), - Stmt::For(data) => self.visit_stmt_for(data), - Stmt::AsyncFor(data) => self.visit_stmt_async_for(data), - Stmt::While(data) => self.visit_stmt_while(data), - Stmt::If(data) => self.visit_stmt_if(data), - Stmt::With(data) => self.visit_stmt_with(data), - Stmt::AsyncWith(data) => self.visit_stmt_async_with(data), - Stmt::Match(data) => self.visit_stmt_match(data), - Stmt::Raise(data) => self.visit_stmt_raise(data), - Stmt::Try(data) => self.visit_stmt_try(data), - Stmt::TryStar(data) => self.visit_stmt_try_star(data), - Stmt::Assert(data) => self.visit_stmt_assert(data), - Stmt::Import(data) => self.visit_stmt_import(data), - Stmt::ImportFrom(data) => self.visit_stmt_import_from(data), - Stmt::Global(data) => self.visit_stmt_global(data), - Stmt::Nonlocal(data) => self.visit_stmt_nonlocal(data), - Stmt::Expr(data) => self.visit_stmt_expr(data), - Stmt::Pass(data) => self.visit_stmt_pass(data), - Stmt::Break(data) => self.visit_stmt_break(data), - Stmt::Continue(data) => self.visit_stmt_continue(data), - } - } - fn visit_stmt_function_def(&mut self, node: StmtFunctionDef) { - self.generic_visit_stmt_function_def(node) - } - fn generic_visit_stmt_function_def(&mut self, node: StmtFunctionDef) { - { - let value = node.args; - self.visit_arguments(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.decorator_list { - self.visit_expr(value); - } - if let Some(value) = node.returns { - self.visit_expr(*value); - } - } - fn visit_stmt_async_function_def(&mut self, node: StmtAsyncFunctionDef) { - self.generic_visit_stmt_async_function_def(node) - } - fn generic_visit_stmt_async_function_def(&mut self, node: StmtAsyncFunctionDef) { - { - let value = node.args; - self.visit_arguments(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.decorator_list { - self.visit_expr(value); - } - if let Some(value) = node.returns { - self.visit_expr(*value); - } - } - fn visit_stmt_class_def(&mut self, node: StmtClassDef) { - self.generic_visit_stmt_class_def(node) - } - fn generic_visit_stmt_class_def(&mut self, node: StmtClassDef) { - for value in node.bases { - self.visit_expr(value); - } - for value in node.keywords { - self.visit_keyword(value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.decorator_list { - self.visit_expr(value); - } - } - fn visit_stmt_return(&mut self, node: StmtReturn) { - self.generic_visit_stmt_return(node) - } - fn generic_visit_stmt_return(&mut self, node: StmtReturn) { - if let Some(value) = node.value { - self.visit_expr(*value); - } - } - fn visit_stmt_delete(&mut self, node: StmtDelete) { - self.generic_visit_stmt_delete(node) - } - fn generic_visit_stmt_delete(&mut self, node: StmtDelete) { - for value in node.targets { - self.visit_expr(value); - } - } - fn visit_stmt_assign(&mut self, node: StmtAssign) { - self.generic_visit_stmt_assign(node) - } - fn generic_visit_stmt_assign(&mut self, node: StmtAssign) { - for value in node.targets { - self.visit_expr(value); - } - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_stmt_aug_assign(&mut self, node: StmtAugAssign) { - self.generic_visit_stmt_aug_assign(node) - } - fn generic_visit_stmt_aug_assign(&mut self, node: StmtAugAssign) { - { - let value = node.target; - self.visit_expr(*value); - } - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_stmt_ann_assign(&mut self, node: StmtAnnAssign) { - self.generic_visit_stmt_ann_assign(node) - } - fn generic_visit_stmt_ann_assign(&mut self, node: StmtAnnAssign) { - { - let value = node.target; - self.visit_expr(*value); - } - { - let value = node.annotation; - self.visit_expr(*value); - } - if let Some(value) = node.value { - self.visit_expr(*value); - } - } - fn visit_stmt_for(&mut self, node: StmtFor) { - self.generic_visit_stmt_for(node) - } - fn generic_visit_stmt_for(&mut self, node: StmtFor) { - { - let value = node.target; - self.visit_expr(*value); - } - { - let value = node.iter; - self.visit_expr(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - } - fn visit_stmt_async_for(&mut self, node: StmtAsyncFor) { - self.generic_visit_stmt_async_for(node) - } - fn generic_visit_stmt_async_for(&mut self, node: StmtAsyncFor) { - { - let value = node.target; - self.visit_expr(*value); - } - { - let value = node.iter; - self.visit_expr(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - } - fn visit_stmt_while(&mut self, node: StmtWhile) { - self.generic_visit_stmt_while(node) - } - fn generic_visit_stmt_while(&mut self, node: StmtWhile) { - { - let value = node.test; - self.visit_expr(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - } - fn visit_stmt_if(&mut self, node: StmtIf) { - self.generic_visit_stmt_if(node) - } - fn generic_visit_stmt_if(&mut self, node: StmtIf) { - { - let value = node.test; - self.visit_expr(*value); - } - for value in node.body { - self.visit_stmt(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - } - fn visit_stmt_with(&mut self, node: StmtWith) { - self.generic_visit_stmt_with(node) - } - fn generic_visit_stmt_with(&mut self, node: StmtWith) { - for value in node.items { - self.visit_withitem(value); - } - for value in node.body { - self.visit_stmt(value); - } - } - fn visit_stmt_async_with(&mut self, node: StmtAsyncWith) { - self.generic_visit_stmt_async_with(node) - } - fn generic_visit_stmt_async_with(&mut self, node: StmtAsyncWith) { - for value in node.items { - self.visit_withitem(value); - } - for value in node.body { - self.visit_stmt(value); - } - } - fn visit_stmt_match(&mut self, node: StmtMatch) { - self.generic_visit_stmt_match(node) - } - fn generic_visit_stmt_match(&mut self, node: StmtMatch) { - { - let value = node.subject; - self.visit_expr(*value); - } - for value in node.cases { - self.visit_match_case(value); - } - } - fn visit_stmt_raise(&mut self, node: StmtRaise) { - self.generic_visit_stmt_raise(node) - } - fn generic_visit_stmt_raise(&mut self, node: StmtRaise) { - if let Some(value) = node.exc { - self.visit_expr(*value); - } - if let Some(value) = node.cause { - self.visit_expr(*value); - } - } - fn visit_stmt_try(&mut self, node: StmtTry) { - self.generic_visit_stmt_try(node) - } - fn generic_visit_stmt_try(&mut self, node: StmtTry) { - for value in node.body { - self.visit_stmt(value); - } - for value in node.handlers { - self.visit_excepthandler(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - for value in node.finalbody { - self.visit_stmt(value); - } - } - fn visit_stmt_try_star(&mut self, node: StmtTryStar) { - self.generic_visit_stmt_try_star(node) - } - fn generic_visit_stmt_try_star(&mut self, node: StmtTryStar) { - for value in node.body { - self.visit_stmt(value); - } - for value in node.handlers { - self.visit_excepthandler(value); - } - for value in node.orelse { - self.visit_stmt(value); - } - for value in node.finalbody { - self.visit_stmt(value); - } - } - fn visit_stmt_assert(&mut self, node: StmtAssert) { - self.generic_visit_stmt_assert(node) - } - fn generic_visit_stmt_assert(&mut self, node: StmtAssert) { - { - let value = node.test; - self.visit_expr(*value); - } - if let Some(value) = node.msg { - self.visit_expr(*value); - } - } - fn visit_stmt_import(&mut self, node: StmtImport) { - self.generic_visit_stmt_import(node) - } - fn generic_visit_stmt_import(&mut self, node: StmtImport) { - for value in node.names { - self.visit_alias(value); - } - } - fn visit_stmt_import_from(&mut self, node: StmtImportFrom) { - self.generic_visit_stmt_import_from(node) - } - fn generic_visit_stmt_import_from(&mut self, node: StmtImportFrom) { - for value in node.names { - self.visit_alias(value); - } - } - fn visit_stmt_global(&mut self, node: StmtGlobal) { - self.generic_visit_stmt_global(node) - } - fn generic_visit_stmt_global(&mut self, node: StmtGlobal) {} - fn visit_stmt_nonlocal(&mut self, node: StmtNonlocal) { - self.generic_visit_stmt_nonlocal(node) - } - fn generic_visit_stmt_nonlocal(&mut self, node: StmtNonlocal) {} - fn visit_stmt_expr(&mut self, node: StmtExpr) { - self.generic_visit_stmt_expr(node) - } - fn generic_visit_stmt_expr(&mut self, node: StmtExpr) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_stmt_pass(&mut self, node: StmtPass) {} - fn visit_stmt_break(&mut self, node: StmtBreak) {} - fn visit_stmt_continue(&mut self, node: StmtContinue) {} - fn visit_expr(&mut self, node: Expr) { - self.generic_visit_expr(node) - } - fn generic_visit_expr(&mut self, node: Expr) { - match node { - Expr::BoolOp(data) => self.visit_expr_bool_op(data), - Expr::NamedExpr(data) => self.visit_expr_named_expr(data), - Expr::BinOp(data) => self.visit_expr_bin_op(data), - Expr::UnaryOp(data) => self.visit_expr_unary_op(data), - Expr::Lambda(data) => self.visit_expr_lambda(data), - Expr::IfExp(data) => self.visit_expr_if_exp(data), - Expr::Dict(data) => self.visit_expr_dict(data), - Expr::Set(data) => self.visit_expr_set(data), - Expr::ListComp(data) => self.visit_expr_list_comp(data), - Expr::SetComp(data) => self.visit_expr_set_comp(data), - Expr::DictComp(data) => self.visit_expr_dict_comp(data), - Expr::GeneratorExp(data) => self.visit_expr_generator_exp(data), - Expr::Await(data) => self.visit_expr_await(data), - Expr::Yield(data) => self.visit_expr_yield(data), - Expr::YieldFrom(data) => self.visit_expr_yield_from(data), - Expr::Compare(data) => self.visit_expr_compare(data), - Expr::Call(data) => self.visit_expr_call(data), - Expr::FormattedValue(data) => self.visit_expr_formatted_value(data), - Expr::JoinedStr(data) => self.visit_expr_joined_str(data), - Expr::Constant(data) => self.visit_expr_constant(data), - Expr::Attribute(data) => self.visit_expr_attribute(data), - Expr::Subscript(data) => self.visit_expr_subscript(data), - Expr::Starred(data) => self.visit_expr_starred(data), - Expr::Name(data) => self.visit_expr_name(data), - Expr::List(data) => self.visit_expr_list(data), - Expr::Tuple(data) => self.visit_expr_tuple(data), - Expr::Slice(data) => self.visit_expr_slice(data), - } - } - fn visit_expr_bool_op(&mut self, node: ExprBoolOp) { - self.generic_visit_expr_bool_op(node) - } - fn generic_visit_expr_bool_op(&mut self, node: ExprBoolOp) { - for value in node.values { - self.visit_expr(value); - } - } - fn visit_expr_named_expr(&mut self, node: ExprNamedExpr) { - self.generic_visit_expr_named_expr(node) - } - fn generic_visit_expr_named_expr(&mut self, node: ExprNamedExpr) { - { - let value = node.target; - self.visit_expr(*value); - } - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_expr_bin_op(&mut self, node: ExprBinOp) { - self.generic_visit_expr_bin_op(node) - } - fn generic_visit_expr_bin_op(&mut self, node: ExprBinOp) { - { - let value = node.left; - self.visit_expr(*value); - } - { - let value = node.right; - self.visit_expr(*value); - } - } - fn visit_expr_unary_op(&mut self, node: ExprUnaryOp) { - self.generic_visit_expr_unary_op(node) - } - fn generic_visit_expr_unary_op(&mut self, node: ExprUnaryOp) { - { - let value = node.operand; - self.visit_expr(*value); - } - } - fn visit_expr_lambda(&mut self, node: ExprLambda) { - self.generic_visit_expr_lambda(node) - } - fn generic_visit_expr_lambda(&mut self, node: ExprLambda) { - { - let value = node.args; - self.visit_arguments(*value); - } - { - let value = node.body; - self.visit_expr(*value); - } - } - fn visit_expr_if_exp(&mut self, node: ExprIfExp) { - self.generic_visit_expr_if_exp(node) - } - fn generic_visit_expr_if_exp(&mut self, node: ExprIfExp) { - { - let value = node.test; - self.visit_expr(*value); - } - { - let value = node.body; - self.visit_expr(*value); - } - { - let value = node.orelse; - self.visit_expr(*value); - } - } - fn visit_expr_dict(&mut self, node: ExprDict) { - self.generic_visit_expr_dict(node) - } - fn generic_visit_expr_dict(&mut self, node: ExprDict) { - for value in node.keys.into_iter().flatten() { - self.visit_expr(value); - } - for value in node.values { - self.visit_expr(value); - } - } - fn visit_expr_set(&mut self, node: ExprSet) { - self.generic_visit_expr_set(node) - } - fn generic_visit_expr_set(&mut self, node: ExprSet) { - for value in node.elts { - self.visit_expr(value); - } - } - fn visit_expr_list_comp(&mut self, node: ExprListComp) { - self.generic_visit_expr_list_comp(node) - } - fn generic_visit_expr_list_comp(&mut self, node: ExprListComp) { - { - let value = node.elt; - self.visit_expr(*value); - } - for value in node.generators { - self.visit_comprehension(value); - } - } - fn visit_expr_set_comp(&mut self, node: ExprSetComp) { - self.generic_visit_expr_set_comp(node) - } - fn generic_visit_expr_set_comp(&mut self, node: ExprSetComp) { - { - let value = node.elt; - self.visit_expr(*value); - } - for value in node.generators { - self.visit_comprehension(value); - } - } - fn visit_expr_dict_comp(&mut self, node: ExprDictComp) { - self.generic_visit_expr_dict_comp(node) - } - fn generic_visit_expr_dict_comp(&mut self, node: ExprDictComp) { - { - let value = node.key; - self.visit_expr(*value); - } - { - let value = node.value; - self.visit_expr(*value); - } - for value in node.generators { - self.visit_comprehension(value); - } - } - fn visit_expr_generator_exp(&mut self, node: ExprGeneratorExp) { - self.generic_visit_expr_generator_exp(node) - } - fn generic_visit_expr_generator_exp(&mut self, node: ExprGeneratorExp) { - { - let value = node.elt; - self.visit_expr(*value); - } - for value in node.generators { - self.visit_comprehension(value); - } - } - fn visit_expr_await(&mut self, node: ExprAwait) { - self.generic_visit_expr_await(node) - } - fn generic_visit_expr_await(&mut self, node: ExprAwait) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_expr_yield(&mut self, node: ExprYield) { - self.generic_visit_expr_yield(node) - } - fn generic_visit_expr_yield(&mut self, node: ExprYield) { - if let Some(value) = node.value { - self.visit_expr(*value); - } - } - fn visit_expr_yield_from(&mut self, node: ExprYieldFrom) { - self.generic_visit_expr_yield_from(node) - } - fn generic_visit_expr_yield_from(&mut self, node: ExprYieldFrom) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_expr_compare(&mut self, node: ExprCompare) { - self.generic_visit_expr_compare(node) - } - fn generic_visit_expr_compare(&mut self, node: ExprCompare) { - { - let value = node.left; - self.visit_expr(*value); - } - for value in node.comparators { - self.visit_expr(value); - } - } - fn visit_expr_call(&mut self, node: ExprCall) { - self.generic_visit_expr_call(node) - } - fn generic_visit_expr_call(&mut self, node: ExprCall) { - { - let value = node.func; - self.visit_expr(*value); - } - for value in node.args { - self.visit_expr(value); - } - for value in node.keywords { - self.visit_keyword(value); - } - } - fn visit_expr_formatted_value(&mut self, node: ExprFormattedValue) { - self.generic_visit_expr_formatted_value(node) - } - fn generic_visit_expr_formatted_value(&mut self, node: ExprFormattedValue) { - { - let value = node.value; - self.visit_expr(*value); - } - if let Some(value) = node.format_spec { - self.visit_expr(*value); - } - } - fn visit_expr_joined_str(&mut self, node: ExprJoinedStr) { - self.generic_visit_expr_joined_str(node) - } - fn generic_visit_expr_joined_str(&mut self, node: ExprJoinedStr) { - for value in node.values { - self.visit_expr(value); - } - } - fn visit_expr_constant(&mut self, node: ExprConstant) { - self.generic_visit_expr_constant(node) - } - fn generic_visit_expr_constant(&mut self, node: ExprConstant) {} - fn visit_expr_attribute(&mut self, node: ExprAttribute) { - self.generic_visit_expr_attribute(node) - } - fn generic_visit_expr_attribute(&mut self, node: ExprAttribute) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_expr_subscript(&mut self, node: ExprSubscript) { - self.generic_visit_expr_subscript(node) - } - fn generic_visit_expr_subscript(&mut self, node: ExprSubscript) { - { - let value = node.value; - self.visit_expr(*value); - } - { - let value = node.slice; - self.visit_expr(*value); - } - } - fn visit_expr_starred(&mut self, node: ExprStarred) { - self.generic_visit_expr_starred(node) - } - fn generic_visit_expr_starred(&mut self, node: ExprStarred) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_expr_name(&mut self, node: ExprName) { - self.generic_visit_expr_name(node) - } - fn generic_visit_expr_name(&mut self, node: ExprName) {} - fn visit_expr_list(&mut self, node: ExprList) { - self.generic_visit_expr_list(node) - } - fn generic_visit_expr_list(&mut self, node: ExprList) { - for value in node.elts { - self.visit_expr(value); - } - } - fn visit_expr_tuple(&mut self, node: ExprTuple) { - self.generic_visit_expr_tuple(node) - } - fn generic_visit_expr_tuple(&mut self, node: ExprTuple) { - for value in node.elts { - self.visit_expr(value); - } - } - fn visit_expr_slice(&mut self, node: ExprSlice) { - self.generic_visit_expr_slice(node) - } - fn generic_visit_expr_slice(&mut self, node: ExprSlice) { - if let Some(value) = node.lower { - self.visit_expr(*value); - } - if let Some(value) = node.upper { - self.visit_expr(*value); - } - if let Some(value) = node.step { - self.visit_expr(*value); - } - } - fn visit_expr_context(&mut self, node: ExprContext) { - self.generic_visit_expr_context(node) - } - fn generic_visit_expr_context(&mut self, node: ExprContext) {} - fn visit_boolop(&mut self, node: BoolOp) { - self.generic_visit_boolop(node) - } - fn generic_visit_boolop(&mut self, node: BoolOp) {} - fn visit_operator(&mut self, node: Operator) { - self.generic_visit_operator(node) - } - fn generic_visit_operator(&mut self, node: Operator) {} - fn visit_unaryop(&mut self, node: UnaryOp) { - self.generic_visit_unaryop(node) - } - fn generic_visit_unaryop(&mut self, node: UnaryOp) {} - fn visit_cmpop(&mut self, node: CmpOp) { - self.generic_visit_cmpop(node) - } - fn generic_visit_cmpop(&mut self, node: CmpOp) {} - fn visit_comprehension(&mut self, node: Comprehension) { - self.generic_visit_comprehension(node) - } - fn generic_visit_comprehension(&mut self, node: Comprehension) {} - fn visit_excepthandler(&mut self, node: ExceptHandler) { - self.generic_visit_excepthandler(node) - } - fn generic_visit_excepthandler(&mut self, node: ExceptHandler) { - match node { - ExceptHandler::ExceptHandler(data) => self.visit_excepthandler_except_handler(data), - } - } - fn visit_excepthandler_except_handler(&mut self, node: ExceptHandlerExceptHandler) { - self.generic_visit_excepthandler_except_handler(node) - } - fn generic_visit_excepthandler_except_handler(&mut self, node: ExceptHandlerExceptHandler) { - if let Some(value) = node.type_ { - self.visit_expr(*value); - } - for value in node.body { - self.visit_stmt(value); - } - } - fn visit_arguments(&mut self, node: Arguments) { - self.generic_visit_arguments(node) - } - fn generic_visit_arguments(&mut self, node: Arguments) {} - fn visit_arg(&mut self, node: Arg) { - self.generic_visit_arg(node) - } - fn generic_visit_arg(&mut self, node: Arg) {} - fn visit_keyword(&mut self, node: Keyword) { - self.generic_visit_keyword(node) - } - fn generic_visit_keyword(&mut self, node: Keyword) {} - fn visit_alias(&mut self, node: Alias) { - self.generic_visit_alias(node) - } - fn generic_visit_alias(&mut self, node: Alias) {} - fn visit_withitem(&mut self, node: WithItem) { - self.generic_visit_withitem(node) - } - fn generic_visit_withitem(&mut self, node: WithItem) {} - fn visit_match_case(&mut self, node: MatchCase) { - self.generic_visit_match_case(node) - } - fn generic_visit_match_case(&mut self, node: MatchCase) {} - fn visit_pattern(&mut self, node: Pattern) { - self.generic_visit_pattern(node) - } - fn generic_visit_pattern(&mut self, node: Pattern) { - match node { - Pattern::MatchValue(data) => self.visit_pattern_match_value(data), - Pattern::MatchSingleton(data) => self.visit_pattern_match_singleton(data), - Pattern::MatchSequence(data) => self.visit_pattern_match_sequence(data), - Pattern::MatchMapping(data) => self.visit_pattern_match_mapping(data), - Pattern::MatchClass(data) => self.visit_pattern_match_class(data), - Pattern::MatchStar(data) => self.visit_pattern_match_star(data), - Pattern::MatchAs(data) => self.visit_pattern_match_as(data), - Pattern::MatchOr(data) => self.visit_pattern_match_or(data), - } - } - fn visit_pattern_match_value(&mut self, node: PatternMatchValue) { - self.generic_visit_pattern_match_value(node) - } - fn generic_visit_pattern_match_value(&mut self, node: PatternMatchValue) { - { - let value = node.value; - self.visit_expr(*value); - } - } - fn visit_pattern_match_singleton(&mut self, node: PatternMatchSingleton) { - self.generic_visit_pattern_match_singleton(node) - } - fn generic_visit_pattern_match_singleton(&mut self, node: PatternMatchSingleton) {} - fn visit_pattern_match_sequence(&mut self, node: PatternMatchSequence) { - self.generic_visit_pattern_match_sequence(node) - } - fn generic_visit_pattern_match_sequence(&mut self, node: PatternMatchSequence) { - for value in node.patterns { - self.visit_pattern(value); - } - } - fn visit_pattern_match_mapping(&mut self, node: PatternMatchMapping) { - self.generic_visit_pattern_match_mapping(node) - } - fn generic_visit_pattern_match_mapping(&mut self, node: PatternMatchMapping) { - for value in node.keys { - self.visit_expr(value); - } - for value in node.patterns { - self.visit_pattern(value); - } - } - fn visit_pattern_match_class(&mut self, node: PatternMatchClass) { - self.generic_visit_pattern_match_class(node) - } - fn generic_visit_pattern_match_class(&mut self, node: PatternMatchClass) { - { - let value = node.cls; - self.visit_expr(*value); - } - for value in node.patterns { - self.visit_pattern(value); - } - for value in node.kwd_patterns { - self.visit_pattern(value); - } - } - fn visit_pattern_match_star(&mut self, node: PatternMatchStar) { - self.generic_visit_pattern_match_star(node) - } - fn generic_visit_pattern_match_star(&mut self, node: PatternMatchStar) {} - fn visit_pattern_match_as(&mut self, node: PatternMatchAs) { - self.generic_visit_pattern_match_as(node) - } - fn generic_visit_pattern_match_as(&mut self, node: PatternMatchAs) { - if let Some(value) = node.pattern { - self.visit_pattern(*value); - } - } - fn visit_pattern_match_or(&mut self, node: PatternMatchOr) { - self.generic_visit_pattern_match_or(node) - } - fn generic_visit_pattern_match_or(&mut self, node: PatternMatchOr) { - for value in node.patterns { - self.visit_pattern(value); - } - } -} diff --git a/ast/src/generic.rs b/ast/src/generic.rs index fe0875b9..f30a2401 100644 --- a/ast/src/generic.rs +++ b/ast/src/generic.rs @@ -1,59 +1,3146 @@ #![allow(clippy::derive_partial_eq_without_eq)] +use crate::text_size::TextRange; pub use crate::{builtin::*, text_size::TextSize, ConversionFlag, Node}; -use std::fmt::{Debug, Display, Formatter}; -use std::marker::PhantomData; +use std::fmt::Debug; -pub type Suite = Vec>; +// This file was originally generated from asdl by a python script, but we now edit it manually -#[cfg(feature = "all-nodes-with-ranges")] -pub type OptionalRange = R; +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum Ast { + #[is(name = "module")] + Mod(Mod), + Stmt(Stmt), + Expr(Expr), + ExprContext(ExprContext), + BoolOp(BoolOp), + Operator(Operator), + UnaryOp(UnaryOp), + CmpOp(CmpOp), + Comprehension(Comprehension), + ExceptHandler(ExceptHandler), + Arguments(Arguments), + Arg(Arg), + Keyword(Keyword), + Alias(Alias), + WithItem(WithItem), + MatchCase(MatchCase), + Pattern(Pattern), + TypeIgnore(TypeIgnore), + Decorator(Decorator), +} +impl Node for Ast { + const NAME: &'static str = "AST"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +impl From for Ast { + fn from(node: Mod) -> Self { + Ast::Mod(node) + } +} + +impl From for Ast { + fn from(node: Stmt) -> Self { + Ast::Stmt(node) + } +} + +impl From for Ast { + fn from(node: Expr) -> Self { + Ast::Expr(node) + } +} + +impl From for Ast { + fn from(node: ExprContext) -> Self { + Ast::ExprContext(node) + } +} + +impl From for Ast { + fn from(node: BoolOp) -> Self { + Ast::BoolOp(node) + } +} + +impl From for Ast { + fn from(node: Operator) -> Self { + Ast::Operator(node) + } +} + +impl From for Ast { + fn from(node: UnaryOp) -> Self { + Ast::UnaryOp(node) + } +} + +impl From for Ast { + fn from(node: CmpOp) -> Self { + Ast::CmpOp(node) + } +} + +impl From for Ast { + fn from(node: Comprehension) -> Self { + Ast::Comprehension(node) + } +} + +impl From for Ast { + fn from(node: ExceptHandler) -> Self { + Ast::ExceptHandler(node) + } +} + +impl From for Ast { + fn from(node: Arguments) -> Self { + Ast::Arguments(node) + } +} + +impl From for Ast { + fn from(node: Arg) -> Self { + Ast::Arg(node) + } +} + +impl From for Ast { + fn from(node: Keyword) -> Self { + Ast::Keyword(node) + } +} + +impl From for Ast { + fn from(node: Alias) -> Self { + Ast::Alias(node) + } +} + +impl From for Ast { + fn from(node: WithItem) -> Self { + Ast::WithItem(node) + } +} + +impl From for Ast { + fn from(node: MatchCase) -> Self { + Ast::MatchCase(node) + } +} + +impl From for Ast { + fn from(node: Pattern) -> Self { + Ast::Pattern(node) + } +} + +impl From for Ast { + fn from(node: TypeIgnore) -> Self { + Ast::TypeIgnore(node) + } +} + +impl From for Ast { + fn from(node: Decorator) -> Self { + Ast::Decorator(node) + } +} + +/// See also [mod](https://docs.python.org/3/library/ast.html#ast.mod) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum Mod { + Module(ModModule), + Interactive(ModInteractive), + Expression(ModExpression), + FunctionType(ModFunctionType), +} + +/// See also [Module](https://docs.python.org/3/library/ast.html#ast.Module) +#[derive(Clone, Debug, PartialEq)] +pub struct ModModule { + pub range: TextRange, + pub body: Vec, + pub type_ignores: Vec, +} + +impl Node for ModModule { + const NAME: &'static str = "Module"; + const FIELD_NAMES: &'static [&'static str] = &["body", "type_ignores"]; +} +impl From for Mod { + fn from(payload: ModModule) -> Self { + Mod::Module(payload) + } +} +impl From for Ast { + fn from(payload: ModModule) -> Self { + Mod::from(payload).into() + } +} + +/// See also [Interactive](https://docs.python.org/3/library/ast.html#ast.Interactive) +#[derive(Clone, Debug, PartialEq)] +pub struct ModInteractive { + pub range: TextRange, + pub body: Vec, +} + +impl Node for ModInteractive { + const NAME: &'static str = "Interactive"; + const FIELD_NAMES: &'static [&'static str] = &["body"]; +} +impl From for Mod { + fn from(payload: ModInteractive) -> Self { + Mod::Interactive(payload) + } +} +impl From for Ast { + fn from(payload: ModInteractive) -> Self { + Mod::from(payload).into() + } +} + +/// See also [Expression](https://docs.python.org/3/library/ast.html#ast.Expression) +#[derive(Clone, Debug, PartialEq)] +pub struct ModExpression { + pub range: TextRange, + pub body: Box, +} + +impl Node for ModExpression { + const NAME: &'static str = "Expression"; + const FIELD_NAMES: &'static [&'static str] = &["body"]; +} +impl From for Mod { + fn from(payload: ModExpression) -> Self { + Mod::Expression(payload) + } +} +impl From for Ast { + fn from(payload: ModExpression) -> Self { + Mod::from(payload).into() + } +} + +/// See also [FunctionType](https://docs.python.org/3/library/ast.html#ast.FunctionType) +#[derive(Clone, Debug, PartialEq)] +pub struct ModFunctionType { + pub range: TextRange, + pub argtypes: Vec, + pub returns: Box, +} + +impl Node for ModFunctionType { + const NAME: &'static str = "FunctionType"; + const FIELD_NAMES: &'static [&'static str] = &["argtypes", "returns"]; +} +impl From for Mod { + fn from(payload: ModFunctionType) -> Self { + Mod::FunctionType(payload) + } +} +impl From for Ast { + fn from(payload: ModFunctionType) -> Self { + Mod::from(payload).into() + } +} + +impl Node for Mod { + const NAME: &'static str = "mod"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [stmt](https://docs.python.org/3/library/ast.html#ast.stmt) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum Stmt { + #[is(name = "function_def_stmt")] + FunctionDef(StmtFunctionDef), + #[is(name = "async_function_def_stmt")] + AsyncFunctionDef(StmtAsyncFunctionDef), + #[is(name = "class_def_stmt")] + ClassDef(StmtClassDef), + #[is(name = "return_stmt")] + Return(StmtReturn), + #[is(name = "delete_stmt")] + Delete(StmtDelete), + #[is(name = "assign_stmt")] + Assign(StmtAssign), + #[is(name = "aug_assign_stmt")] + AugAssign(StmtAugAssign), + #[is(name = "ann_assign_stmt")] + AnnAssign(StmtAnnAssign), + #[is(name = "for_stmt")] + For(StmtFor), + #[is(name = "async_for_stmt")] + AsyncFor(StmtAsyncFor), + #[is(name = "while_stmt")] + While(StmtWhile), + #[is(name = "if_stmt")] + If(StmtIf), + #[is(name = "with_stmt")] + With(StmtWith), + #[is(name = "async_with_stmt")] + AsyncWith(StmtAsyncWith), + #[is(name = "match_stmt")] + Match(StmtMatch), + #[is(name = "raise_stmt")] + Raise(StmtRaise), + #[is(name = "try_stmt")] + Try(StmtTry), + #[is(name = "try_star_stmt")] + TryStar(StmtTryStar), + #[is(name = "assert_stmt")] + Assert(StmtAssert), + #[is(name = "import_stmt")] + Import(StmtImport), + #[is(name = "import_from_stmt")] + ImportFrom(StmtImportFrom), + #[is(name = "global_stmt")] + Global(StmtGlobal), + #[is(name = "nonlocal_stmt")] + Nonlocal(StmtNonlocal), + #[is(name = "expr_stmt")] + Expr(StmtExpr), + #[is(name = "pass_stmt")] + Pass(StmtPass), + #[is(name = "break_stmt")] + Break(StmtBreak), + #[is(name = "continue_stmt")] + Continue(StmtContinue), +} + +/// See also [FunctionDef](https://docs.python.org/3/library/ast.html#ast.FunctionDef) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtFunctionDef { + pub range: TextRange, + pub name: Identifier, + pub args: Box, + pub body: Vec, + pub decorator_list: Vec, + pub returns: Option>, + pub type_comment: Option, +} + +impl Node for StmtFunctionDef { + const NAME: &'static str = "FunctionDef"; + const FIELD_NAMES: &'static [&'static str] = &[ + "name", + "args", + "body", + "decorator_list", + "returns", + "type_comment", + ]; +} +impl From for Stmt { + fn from(payload: StmtFunctionDef) -> Self { + Stmt::FunctionDef(payload) + } +} +impl From for Ast { + fn from(payload: StmtFunctionDef) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [AsyncFunctionDef](https://docs.python.org/3/library/ast.html#ast.AsyncFunctionDef) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAsyncFunctionDef { + pub range: TextRange, + pub name: Identifier, + pub args: Box, + pub body: Vec, + pub decorator_list: Vec, + pub returns: Option>, + pub type_comment: Option, +} + +impl Node for StmtAsyncFunctionDef { + const NAME: &'static str = "AsyncFunctionDef"; + const FIELD_NAMES: &'static [&'static str] = &[ + "name", + "args", + "body", + "decorator_list", + "returns", + "type_comment", + ]; +} +impl From for Stmt { + fn from(payload: StmtAsyncFunctionDef) -> Self { + Stmt::AsyncFunctionDef(payload) + } +} +impl From for Ast { + fn from(payload: StmtAsyncFunctionDef) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [ClassDef](https://docs.python.org/3/library/ast.html#ast.ClassDef) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtClassDef { + pub range: TextRange, + pub name: Identifier, + pub bases: Vec, + pub keywords: Vec, + pub body: Vec, + pub decorator_list: Vec, +} + +impl Node for StmtClassDef { + const NAME: &'static str = "ClassDef"; + const FIELD_NAMES: &'static [&'static str] = + &["name", "bases", "keywords", "body", "decorator_list"]; +} +impl From for Stmt { + fn from(payload: StmtClassDef) -> Self { + Stmt::ClassDef(payload) + } +} +impl From for Ast { + fn from(payload: StmtClassDef) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Return](https://docs.python.org/3/library/ast.html#ast.Return) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtReturn { + pub range: TextRange, + pub value: Option>, +} + +impl Node for StmtReturn { + const NAME: &'static str = "Return"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Stmt { + fn from(payload: StmtReturn) -> Self { + Stmt::Return(payload) + } +} +impl From for Ast { + fn from(payload: StmtReturn) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Delete](https://docs.python.org/3/library/ast.html#ast.Delete) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtDelete { + pub range: TextRange, + pub targets: Vec, +} + +impl Node for StmtDelete { + const NAME: &'static str = "Delete"; + const FIELD_NAMES: &'static [&'static str] = &["targets"]; +} +impl From for Stmt { + fn from(payload: StmtDelete) -> Self { + Stmt::Delete(payload) + } +} +impl From for Ast { + fn from(payload: StmtDelete) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Assign](https://docs.python.org/3/library/ast.html#ast.Assign) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAssign { + pub range: TextRange, + pub targets: Vec, + pub value: Box, + pub type_comment: Option, +} + +impl Node for StmtAssign { + const NAME: &'static str = "Assign"; + const FIELD_NAMES: &'static [&'static str] = &["targets", "value", "type_comment"]; +} +impl From for Stmt { + fn from(payload: StmtAssign) -> Self { + Stmt::Assign(payload) + } +} +impl From for Ast { + fn from(payload: StmtAssign) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [AugAssign](https://docs.python.org/3/library/ast.html#ast.AugAssign) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAugAssign { + pub range: TextRange, + pub target: Box, + pub op: Operator, + pub value: Box, +} + +impl Node for StmtAugAssign { + const NAME: &'static str = "AugAssign"; + const FIELD_NAMES: &'static [&'static str] = &["target", "op", "value"]; +} +impl From for Stmt { + fn from(payload: StmtAugAssign) -> Self { + Stmt::AugAssign(payload) + } +} +impl From for Ast { + fn from(payload: StmtAugAssign) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [AnnAssign](https://docs.python.org/3/library/ast.html#ast.AnnAssign) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAnnAssign { + pub range: TextRange, + pub target: Box, + pub annotation: Box, + pub value: Option>, + pub simple: bool, +} + +impl Node for StmtAnnAssign { + const NAME: &'static str = "AnnAssign"; + const FIELD_NAMES: &'static [&'static str] = &["target", "annotation", "value", "simple"]; +} +impl From for Stmt { + fn from(payload: StmtAnnAssign) -> Self { + Stmt::AnnAssign(payload) + } +} +impl From for Ast { + fn from(payload: StmtAnnAssign) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [For](https://docs.python.org/3/library/ast.html#ast.For) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtFor { + pub range: TextRange, + pub target: Box, + pub iter: Box, + pub body: Vec, + pub orelse: Vec, + pub type_comment: Option, +} + +impl Node for StmtFor { + const NAME: &'static str = "For"; + const FIELD_NAMES: &'static [&'static str] = + &["target", "iter", "body", "orelse", "type_comment"]; +} +impl From for Stmt { + fn from(payload: StmtFor) -> Self { + Stmt::For(payload) + } +} +impl From for Ast { + fn from(payload: StmtFor) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [AsyncFor](https://docs.python.org/3/library/ast.html#ast.AsyncFor) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAsyncFor { + pub range: TextRange, + pub target: Box, + pub iter: Box, + pub body: Vec, + pub orelse: Vec, + pub type_comment: Option, +} + +impl Node for StmtAsyncFor { + const NAME: &'static str = "AsyncFor"; + const FIELD_NAMES: &'static [&'static str] = + &["target", "iter", "body", "orelse", "type_comment"]; +} +impl From for Stmt { + fn from(payload: StmtAsyncFor) -> Self { + Stmt::AsyncFor(payload) + } +} +impl From for Ast { + fn from(payload: StmtAsyncFor) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [While](https://docs.python.org/3/library/ast.html#ast.While) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtWhile { + pub range: TextRange, + pub test: Box, + pub body: Vec, + pub orelse: Vec, +} + +impl Node for StmtWhile { + const NAME: &'static str = "While"; + const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; +} +impl From for Stmt { + fn from(payload: StmtWhile) -> Self { + Stmt::While(payload) + } +} +impl From for Ast { + fn from(payload: StmtWhile) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [If](https://docs.python.org/3/library/ast.html#ast.If) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtIf { + pub range: TextRange, + pub test: Box, + pub body: Vec, + pub orelse: Vec, +} + +impl Node for StmtIf { + const NAME: &'static str = "If"; + const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; +} +impl From for Stmt { + fn from(payload: StmtIf) -> Self { + Stmt::If(payload) + } +} +impl From for Ast { + fn from(payload: StmtIf) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [With](https://docs.python.org/3/library/ast.html#ast.With) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtWith { + pub range: TextRange, + pub items: Vec, + pub body: Vec, + pub type_comment: Option, +} + +impl Node for StmtWith { + const NAME: &'static str = "With"; + const FIELD_NAMES: &'static [&'static str] = &["items", "body", "type_comment"]; +} +impl From for Stmt { + fn from(payload: StmtWith) -> Self { + Stmt::With(payload) + } +} +impl From for Ast { + fn from(payload: StmtWith) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [AsyncWith](https://docs.python.org/3/library/ast.html#ast.AsyncWith) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAsyncWith { + pub range: TextRange, + pub items: Vec, + pub body: Vec, + pub type_comment: Option, +} + +impl Node for StmtAsyncWith { + const NAME: &'static str = "AsyncWith"; + const FIELD_NAMES: &'static [&'static str] = &["items", "body", "type_comment"]; +} +impl From for Stmt { + fn from(payload: StmtAsyncWith) -> Self { + Stmt::AsyncWith(payload) + } +} +impl From for Ast { + fn from(payload: StmtAsyncWith) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Match](https://docs.python.org/3/library/ast.html#ast.Match) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtMatch { + pub range: TextRange, + pub subject: Box, + pub cases: Vec, +} + +impl Node for StmtMatch { + const NAME: &'static str = "Match"; + const FIELD_NAMES: &'static [&'static str] = &["subject", "cases"]; +} +impl From for Stmt { + fn from(payload: StmtMatch) -> Self { + Stmt::Match(payload) + } +} +impl From for Ast { + fn from(payload: StmtMatch) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Raise](https://docs.python.org/3/library/ast.html#ast.Raise) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtRaise { + pub range: TextRange, + pub exc: Option>, + pub cause: Option>, +} + +impl Node for StmtRaise { + const NAME: &'static str = "Raise"; + const FIELD_NAMES: &'static [&'static str] = &["exc", "cause"]; +} +impl From for Stmt { + fn from(payload: StmtRaise) -> Self { + Stmt::Raise(payload) + } +} +impl From for Ast { + fn from(payload: StmtRaise) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Try](https://docs.python.org/3/library/ast.html#ast.Try) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtTry { + pub range: TextRange, + pub body: Vec, + pub handlers: Vec, + pub orelse: Vec, + pub finalbody: Vec, +} + +impl Node for StmtTry { + const NAME: &'static str = "Try"; + const FIELD_NAMES: &'static [&'static str] = &["body", "handlers", "orelse", "finalbody"]; +} +impl From for Stmt { + fn from(payload: StmtTry) -> Self { + Stmt::Try(payload) + } +} +impl From for Ast { + fn from(payload: StmtTry) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [TryStar](https://docs.python.org/3/library/ast.html#ast.TryStar) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtTryStar { + pub range: TextRange, + pub body: Vec, + pub handlers: Vec, + pub orelse: Vec, + pub finalbody: Vec, +} + +impl Node for StmtTryStar { + const NAME: &'static str = "TryStar"; + const FIELD_NAMES: &'static [&'static str] = &["body", "handlers", "orelse", "finalbody"]; +} +impl From for Stmt { + fn from(payload: StmtTryStar) -> Self { + Stmt::TryStar(payload) + } +} +impl From for Ast { + fn from(payload: StmtTryStar) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Assert](https://docs.python.org/3/library/ast.html#ast.Assert) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtAssert { + pub range: TextRange, + pub test: Box, + pub msg: Option>, +} + +impl Node for StmtAssert { + const NAME: &'static str = "Assert"; + const FIELD_NAMES: &'static [&'static str] = &["test", "msg"]; +} +impl From for Stmt { + fn from(payload: StmtAssert) -> Self { + Stmt::Assert(payload) + } +} +impl From for Ast { + fn from(payload: StmtAssert) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Import](https://docs.python.org/3/library/ast.html#ast.Import) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtImport { + pub range: TextRange, + pub names: Vec, +} + +impl Node for StmtImport { + const NAME: &'static str = "Import"; + const FIELD_NAMES: &'static [&'static str] = &["names"]; +} +impl From for Stmt { + fn from(payload: StmtImport) -> Self { + Stmt::Import(payload) + } +} +impl From for Ast { + fn from(payload: StmtImport) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [ImportFrom](https://docs.python.org/3/library/ast.html#ast.ImportFrom) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtImportFrom { + pub range: TextRange, + pub module: Option, + pub names: Vec, + pub level: Option, +} + +impl Node for StmtImportFrom { + const NAME: &'static str = "ImportFrom"; + const FIELD_NAMES: &'static [&'static str] = &["module", "names", "level"]; +} +impl From for Stmt { + fn from(payload: StmtImportFrom) -> Self { + Stmt::ImportFrom(payload) + } +} +impl From for Ast { + fn from(payload: StmtImportFrom) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Global](https://docs.python.org/3/library/ast.html#ast.Global) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtGlobal { + pub range: TextRange, + pub names: Vec, +} + +impl Node for StmtGlobal { + const NAME: &'static str = "Global"; + const FIELD_NAMES: &'static [&'static str] = &["names"]; +} +impl From for Stmt { + fn from(payload: StmtGlobal) -> Self { + Stmt::Global(payload) + } +} +impl From for Ast { + fn from(payload: StmtGlobal) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Nonlocal](https://docs.python.org/3/library/ast.html#ast.Nonlocal) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtNonlocal { + pub range: TextRange, + pub names: Vec, +} + +impl Node for StmtNonlocal { + const NAME: &'static str = "Nonlocal"; + const FIELD_NAMES: &'static [&'static str] = &["names"]; +} +impl From for Stmt { + fn from(payload: StmtNonlocal) -> Self { + Stmt::Nonlocal(payload) + } +} +impl From for Ast { + fn from(payload: StmtNonlocal) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Expr](https://docs.python.org/3/library/ast.html#ast.Expr) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtExpr { + pub range: TextRange, + pub value: Box, +} + +impl Node for StmtExpr { + const NAME: &'static str = "Expr"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Stmt { + fn from(payload: StmtExpr) -> Self { + Stmt::Expr(payload) + } +} +impl From for Ast { + fn from(payload: StmtExpr) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Pass](https://docs.python.org/3/library/ast.html#ast.Pass) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtPass { + pub range: TextRange, +} + +impl Node for StmtPass { + const NAME: &'static str = "Pass"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl From for Stmt { + fn from(payload: StmtPass) -> Self { + Stmt::Pass(payload) + } +} +impl From for Ast { + fn from(payload: StmtPass) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Break](https://docs.python.org/3/library/ast.html#ast.Break) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtBreak { + pub range: TextRange, +} + +impl Node for StmtBreak { + const NAME: &'static str = "Break"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl From for Stmt { + fn from(payload: StmtBreak) -> Self { + Stmt::Break(payload) + } +} +impl From for Ast { + fn from(payload: StmtBreak) -> Self { + Stmt::from(payload).into() + } +} + +/// See also [Continue](https://docs.python.org/3/library/ast.html#ast.Continue) +#[derive(Clone, Debug, PartialEq)] +pub struct StmtContinue { + pub range: TextRange, +} + +impl Node for StmtContinue { + const NAME: &'static str = "Continue"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl From for Stmt { + fn from(payload: StmtContinue) -> Self { + Stmt::Continue(payload) + } +} +impl From for Ast { + fn from(payload: StmtContinue) -> Self { + Stmt::from(payload).into() + } +} + +impl Node for Stmt { + const NAME: &'static str = "stmt"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [expr](https://docs.python.org/3/library/ast.html#ast.expr) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum Expr { + #[is(name = "bool_op_expr")] + BoolOp(ExprBoolOp), + #[is(name = "named_expr_expr")] + NamedExpr(ExprNamedExpr), + #[is(name = "bin_op_expr")] + BinOp(ExprBinOp), + #[is(name = "unary_op_expr")] + UnaryOp(ExprUnaryOp), + #[is(name = "lambda_expr")] + Lambda(ExprLambda), + #[is(name = "if_exp_expr")] + IfExp(ExprIfExp), + #[is(name = "dict_expr")] + Dict(ExprDict), + #[is(name = "set_expr")] + Set(ExprSet), + #[is(name = "list_comp_expr")] + ListComp(ExprListComp), + #[is(name = "set_comp_expr")] + SetComp(ExprSetComp), + #[is(name = "dict_comp_expr")] + DictComp(ExprDictComp), + #[is(name = "generator_exp_expr")] + GeneratorExp(ExprGeneratorExp), + #[is(name = "await_expr")] + Await(ExprAwait), + #[is(name = "yield_expr")] + Yield(ExprYield), + #[is(name = "yield_from_expr")] + YieldFrom(ExprYieldFrom), + #[is(name = "compare_expr")] + Compare(ExprCompare), + #[is(name = "call_expr")] + Call(ExprCall), + #[is(name = "formatted_value_expr")] + FormattedValue(ExprFormattedValue), + #[is(name = "joined_str_expr")] + JoinedStr(ExprJoinedStr), + #[is(name = "constant_expr")] + Constant(ExprConstant), + #[is(name = "attribute_expr")] + Attribute(ExprAttribute), + #[is(name = "subscript_expr")] + Subscript(ExprSubscript), + #[is(name = "starred_expr")] + Starred(ExprStarred), + #[is(name = "name_expr")] + Name(ExprName), + #[is(name = "list_expr")] + List(ExprList), + #[is(name = "tuple_expr")] + Tuple(ExprTuple), + #[is(name = "slice_expr")] + Slice(ExprSlice), +} + +/// See also [BoolOp](https://docs.python.org/3/library/ast.html#ast.BoolOp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprBoolOp { + pub range: TextRange, + pub op: BoolOp, + pub values: Vec, +} + +impl Node for ExprBoolOp { + const NAME: &'static str = "BoolOp"; + const FIELD_NAMES: &'static [&'static str] = &["op", "values"]; +} +impl From for Expr { + fn from(payload: ExprBoolOp) -> Self { + Expr::BoolOp(payload) + } +} +impl From for Ast { + fn from(payload: ExprBoolOp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [NamedExpr](https://docs.python.org/3/library/ast.html#ast.NamedExpr) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprNamedExpr { + pub range: TextRange, + pub target: Box, + pub value: Box, +} + +impl Node for ExprNamedExpr { + const NAME: &'static str = "NamedExpr"; + const FIELD_NAMES: &'static [&'static str] = &["target", "value"]; +} +impl From for Expr { + fn from(payload: ExprNamedExpr) -> Self { + Expr::NamedExpr(payload) + } +} +impl From for Ast { + fn from(payload: ExprNamedExpr) -> Self { + Expr::from(payload).into() + } +} + +/// See also [BinOp](https://docs.python.org/3/library/ast.html#ast.BinOp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprBinOp { + pub range: TextRange, + pub left: Box, + pub op: Operator, + pub right: Box, +} + +impl Node for ExprBinOp { + const NAME: &'static str = "BinOp"; + const FIELD_NAMES: &'static [&'static str] = &["left", "op", "right"]; +} +impl From for Expr { + fn from(payload: ExprBinOp) -> Self { + Expr::BinOp(payload) + } +} +impl From for Ast { + fn from(payload: ExprBinOp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [UnaryOp](https://docs.python.org/3/library/ast.html#ast.UnaryOp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprUnaryOp { + pub range: TextRange, + pub op: UnaryOp, + pub operand: Box, +} + +impl Node for ExprUnaryOp { + const NAME: &'static str = "UnaryOp"; + const FIELD_NAMES: &'static [&'static str] = &["op", "operand"]; +} +impl From for Expr { + fn from(payload: ExprUnaryOp) -> Self { + Expr::UnaryOp(payload) + } +} +impl From for Ast { + fn from(payload: ExprUnaryOp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Lambda](https://docs.python.org/3/library/ast.html#ast.Lambda) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprLambda { + pub range: TextRange, + pub args: Box, + pub body: Box, +} + +impl Node for ExprLambda { + const NAME: &'static str = "Lambda"; + const FIELD_NAMES: &'static [&'static str] = &["args", "body"]; +} +impl From for Expr { + fn from(payload: ExprLambda) -> Self { + Expr::Lambda(payload) + } +} +impl From for Ast { + fn from(payload: ExprLambda) -> Self { + Expr::from(payload).into() + } +} + +/// See also [IfExp](https://docs.python.org/3/library/ast.html#ast.IfExp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprIfExp { + pub range: TextRange, + pub test: Box, + pub body: Box, + pub orelse: Box, +} + +impl Node for ExprIfExp { + const NAME: &'static str = "IfExp"; + const FIELD_NAMES: &'static [&'static str] = &["test", "body", "orelse"]; +} +impl From for Expr { + fn from(payload: ExprIfExp) -> Self { + Expr::IfExp(payload) + } +} +impl From for Ast { + fn from(payload: ExprIfExp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Dict](https://docs.python.org/3/library/ast.html#ast.Dict) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprDict { + pub range: TextRange, + pub keys: Vec>, + pub values: Vec, +} + +impl Node for ExprDict { + const NAME: &'static str = "Dict"; + const FIELD_NAMES: &'static [&'static str] = &["keys", "values"]; +} +impl From for Expr { + fn from(payload: ExprDict) -> Self { + Expr::Dict(payload) + } +} +impl From for Ast { + fn from(payload: ExprDict) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Set](https://docs.python.org/3/library/ast.html#ast.Set) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprSet { + pub range: TextRange, + pub elts: Vec, +} + +impl Node for ExprSet { + const NAME: &'static str = "Set"; + const FIELD_NAMES: &'static [&'static str] = &["elts"]; +} +impl From for Expr { + fn from(payload: ExprSet) -> Self { + Expr::Set(payload) + } +} +impl From for Ast { + fn from(payload: ExprSet) -> Self { + Expr::from(payload).into() + } +} + +/// See also [ListComp](https://docs.python.org/3/library/ast.html#ast.ListComp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprListComp { + pub range: TextRange, + pub elt: Box, + pub generators: Vec, +} + +impl Node for ExprListComp { + const NAME: &'static str = "ListComp"; + const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; +} +impl From for Expr { + fn from(payload: ExprListComp) -> Self { + Expr::ListComp(payload) + } +} +impl From for Ast { + fn from(payload: ExprListComp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [SetComp](https://docs.python.org/3/library/ast.html#ast.SetComp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprSetComp { + pub range: TextRange, + pub elt: Box, + pub generators: Vec, +} + +impl Node for ExprSetComp { + const NAME: &'static str = "SetComp"; + const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; +} +impl From for Expr { + fn from(payload: ExprSetComp) -> Self { + Expr::SetComp(payload) + } +} +impl From for Ast { + fn from(payload: ExprSetComp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [DictComp](https://docs.python.org/3/library/ast.html#ast.DictComp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprDictComp { + pub range: TextRange, + pub key: Box, + pub value: Box, + pub generators: Vec, +} + +impl Node for ExprDictComp { + const NAME: &'static str = "DictComp"; + const FIELD_NAMES: &'static [&'static str] = &["key", "value", "generators"]; +} +impl From for Expr { + fn from(payload: ExprDictComp) -> Self { + Expr::DictComp(payload) + } +} +impl From for Ast { + fn from(payload: ExprDictComp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [GeneratorExp](https://docs.python.org/3/library/ast.html#ast.GeneratorExp) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprGeneratorExp { + pub range: TextRange, + pub elt: Box, + pub generators: Vec, +} + +impl Node for ExprGeneratorExp { + const NAME: &'static str = "GeneratorExp"; + const FIELD_NAMES: &'static [&'static str] = &["elt", "generators"]; +} +impl From for Expr { + fn from(payload: ExprGeneratorExp) -> Self { + Expr::GeneratorExp(payload) + } +} +impl From for Ast { + fn from(payload: ExprGeneratorExp) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Await](https://docs.python.org/3/library/ast.html#ast.Await) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprAwait { + pub range: TextRange, + pub value: Box, +} + +impl Node for ExprAwait { + const NAME: &'static str = "Await"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Expr { + fn from(payload: ExprAwait) -> Self { + Expr::Await(payload) + } +} +impl From for Ast { + fn from(payload: ExprAwait) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Yield](https://docs.python.org/3/library/ast.html#ast.Yield) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprYield { + pub range: TextRange, + pub value: Option>, +} + +impl Node for ExprYield { + const NAME: &'static str = "Yield"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Expr { + fn from(payload: ExprYield) -> Self { + Expr::Yield(payload) + } +} +impl From for Ast { + fn from(payload: ExprYield) -> Self { + Expr::from(payload).into() + } +} + +/// See also [YieldFrom](https://docs.python.org/3/library/ast.html#ast.YieldFrom) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprYieldFrom { + pub range: TextRange, + pub value: Box, +} + +impl Node for ExprYieldFrom { + const NAME: &'static str = "YieldFrom"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Expr { + fn from(payload: ExprYieldFrom) -> Self { + Expr::YieldFrom(payload) + } +} +impl From for Ast { + fn from(payload: ExprYieldFrom) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Compare](https://docs.python.org/3/library/ast.html#ast.Compare) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprCompare { + pub range: TextRange, + pub left: Box, + pub ops: Vec, + pub comparators: Vec, +} + +impl Node for ExprCompare { + const NAME: &'static str = "Compare"; + const FIELD_NAMES: &'static [&'static str] = &["left", "ops", "comparators"]; +} +impl From for Expr { + fn from(payload: ExprCompare) -> Self { + Expr::Compare(payload) + } +} +impl From for Ast { + fn from(payload: ExprCompare) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Call](https://docs.python.org/3/library/ast.html#ast.Call) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprCall { + pub range: TextRange, + pub func: Box, + pub args: Vec, + pub keywords: Vec, +} + +impl Node for ExprCall { + const NAME: &'static str = "Call"; + const FIELD_NAMES: &'static [&'static str] = &["func", "args", "keywords"]; +} +impl From for Expr { + fn from(payload: ExprCall) -> Self { + Expr::Call(payload) + } +} +impl From for Ast { + fn from(payload: ExprCall) -> Self { + Expr::from(payload).into() + } +} + +/// See also [FormattedValue](https://docs.python.org/3/library/ast.html#ast.FormattedValue) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprFormattedValue { + pub range: TextRange, + pub value: Box, + pub conversion: ConversionFlag, + pub format_spec: Option>, +} + +impl Node for ExprFormattedValue { + const NAME: &'static str = "FormattedValue"; + const FIELD_NAMES: &'static [&'static str] = &["value", "conversion", "format_spec"]; +} +impl From for Expr { + fn from(payload: ExprFormattedValue) -> Self { + Expr::FormattedValue(payload) + } +} +impl From for Ast { + fn from(payload: ExprFormattedValue) -> Self { + Expr::from(payload).into() + } +} + +/// See also [JoinedStr](https://docs.python.org/3/library/ast.html#ast.JoinedStr) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprJoinedStr { + pub range: TextRange, + pub values: Vec, +} + +impl Node for ExprJoinedStr { + const NAME: &'static str = "JoinedStr"; + const FIELD_NAMES: &'static [&'static str] = &["values"]; +} +impl From for Expr { + fn from(payload: ExprJoinedStr) -> Self { + Expr::JoinedStr(payload) + } +} +impl From for Ast { + fn from(payload: ExprJoinedStr) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Constant](https://docs.python.org/3/library/ast.html#ast.Constant) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprConstant { + pub range: TextRange, + pub value: Constant, + pub kind: Option, +} + +impl Node for ExprConstant { + const NAME: &'static str = "Constant"; + const FIELD_NAMES: &'static [&'static str] = &["value", "kind"]; +} +impl From for Expr { + fn from(payload: ExprConstant) -> Self { + Expr::Constant(payload) + } +} +impl From for Ast { + fn from(payload: ExprConstant) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Attribute](https://docs.python.org/3/library/ast.html#ast.Attribute) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprAttribute { + pub range: TextRange, + pub value: Box, + pub attr: Identifier, + pub ctx: ExprContext, +} + +impl Node for ExprAttribute { + const NAME: &'static str = "Attribute"; + const FIELD_NAMES: &'static [&'static str] = &["value", "attr", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprAttribute) -> Self { + Expr::Attribute(payload) + } +} +impl From for Ast { + fn from(payload: ExprAttribute) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Subscript](https://docs.python.org/3/library/ast.html#ast.Subscript) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprSubscript { + pub range: TextRange, + pub value: Box, + pub slice: Box, + pub ctx: ExprContext, +} + +impl Node for ExprSubscript { + const NAME: &'static str = "Subscript"; + const FIELD_NAMES: &'static [&'static str] = &["value", "slice", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprSubscript) -> Self { + Expr::Subscript(payload) + } +} +impl From for Ast { + fn from(payload: ExprSubscript) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Starred](https://docs.python.org/3/library/ast.html#ast.Starred) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprStarred { + pub range: TextRange, + pub value: Box, + pub ctx: ExprContext, +} + +impl Node for ExprStarred { + const NAME: &'static str = "Starred"; + const FIELD_NAMES: &'static [&'static str] = &["value", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprStarred) -> Self { + Expr::Starred(payload) + } +} +impl From for Ast { + fn from(payload: ExprStarred) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Name](https://docs.python.org/3/library/ast.html#ast.Name) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprName { + pub range: TextRange, + pub id: String, + pub ctx: ExprContext, +} + +impl Node for ExprName { + const NAME: &'static str = "Name"; + const FIELD_NAMES: &'static [&'static str] = &["id", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprName) -> Self { + Expr::Name(payload) + } +} +impl From for Ast { + fn from(payload: ExprName) -> Self { + Expr::from(payload).into() + } +} + +/// See also [List](https://docs.python.org/3/library/ast.html#ast.List) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprList { + pub range: TextRange, + pub elts: Vec, + pub ctx: ExprContext, +} + +impl Node for ExprList { + const NAME: &'static str = "List"; + const FIELD_NAMES: &'static [&'static str] = &["elts", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprList) -> Self { + Expr::List(payload) + } +} +impl From for Ast { + fn from(payload: ExprList) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Tuple](https://docs.python.org/3/library/ast.html#ast.Tuple) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprTuple { + pub range: TextRange, + pub elts: Vec, + pub ctx: ExprContext, +} + +impl Node for ExprTuple { + const NAME: &'static str = "Tuple"; + const FIELD_NAMES: &'static [&'static str] = &["elts", "ctx"]; +} +impl From for Expr { + fn from(payload: ExprTuple) -> Self { + Expr::Tuple(payload) + } +} +impl From for Ast { + fn from(payload: ExprTuple) -> Self { + Expr::from(payload).into() + } +} + +/// See also [Slice](https://docs.python.org/3/library/ast.html#ast.Slice) +#[derive(Clone, Debug, PartialEq)] +pub struct ExprSlice { + pub range: TextRange, + pub lower: Option>, + pub upper: Option>, + pub step: Option>, +} + +impl Node for ExprSlice { + const NAME: &'static str = "Slice"; + const FIELD_NAMES: &'static [&'static str] = &["lower", "upper", "step"]; +} +impl From for Expr { + fn from(payload: ExprSlice) -> Self { + Expr::Slice(payload) + } +} +impl From for Ast { + fn from(payload: ExprSlice) -> Self { + Expr::from(payload).into() + } +} + +impl Node for Expr { + const NAME: &'static str = "expr"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [expr_context](https://docs.python.org/3/library/ast.html#ast.expr_context) +#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] +pub enum ExprContext { + Load, + Store, + Del, +} +impl ExprContext { + #[inline] + pub const fn load(&self) -> Option { + match self { + ExprContext::Load => Some(ExprContextLoad), + _ => None, + } + } + + #[inline] + pub const fn store(&self) -> Option { + match self { + ExprContext::Store => Some(ExprContextStore), + _ => None, + } + } + + #[inline] + pub const fn del(&self) -> Option { + match self { + ExprContext::Del => Some(ExprContextDel), + _ => None, + } + } +} + +pub struct ExprContextLoad; +impl From for ExprContext { + fn from(_: ExprContextLoad) -> Self { + ExprContext::Load + } +} +impl From for Ast { + fn from(_: ExprContextLoad) -> Self { + ExprContext::Load.into() + } +} +impl Node for ExprContextLoad { + const NAME: &'static str = "Load"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for ExprContextLoad { + #[inline] + fn eq(&self, other: &ExprContext) -> bool { + matches!(other, ExprContext::Load) + } +} + +pub struct ExprContextStore; +impl From for ExprContext { + fn from(_: ExprContextStore) -> Self { + ExprContext::Store + } +} +impl From for Ast { + fn from(_: ExprContextStore) -> Self { + ExprContext::Store.into() + } +} +impl Node for ExprContextStore { + const NAME: &'static str = "Store"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for ExprContextStore { + #[inline] + fn eq(&self, other: &ExprContext) -> bool { + matches!(other, ExprContext::Store) + } +} + +pub struct ExprContextDel; +impl From for ExprContext { + fn from(_: ExprContextDel) -> Self { + ExprContext::Del + } +} +impl From for Ast { + fn from(_: ExprContextDel) -> Self { + ExprContext::Del.into() + } +} +impl Node for ExprContextDel { + const NAME: &'static str = "Del"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for ExprContextDel { + #[inline] + fn eq(&self, other: &ExprContext) -> bool { + matches!(other, ExprContext::Del) + } +} + +impl Node for ExprContext { + const NAME: &'static str = "expr_context"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [boolop](https://docs.python.org/3/library/ast.html#ast.boolop) +#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] +pub enum BoolOp { + And, + Or, +} +impl BoolOp { + #[inline] + pub const fn and(&self) -> Option { + match self { + BoolOp::And => Some(BoolOpAnd), + _ => None, + } + } + + #[inline] + pub const fn or(&self) -> Option { + match self { + BoolOp::Or => Some(BoolOpOr), + _ => None, + } + } +} + +pub struct BoolOpAnd; +impl From for BoolOp { + fn from(_: BoolOpAnd) -> Self { + BoolOp::And + } +} +impl From for Ast { + fn from(_: BoolOpAnd) -> Self { + BoolOp::And.into() + } +} +impl Node for BoolOpAnd { + const NAME: &'static str = "And"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for BoolOpAnd { + #[inline] + fn eq(&self, other: &BoolOp) -> bool { + matches!(other, BoolOp::And) + } +} + +pub struct BoolOpOr; +impl From for BoolOp { + fn from(_: BoolOpOr) -> Self { + BoolOp::Or + } +} +impl From for Ast { + fn from(_: BoolOpOr) -> Self { + BoolOp::Or.into() + } +} +impl Node for BoolOpOr { + const NAME: &'static str = "Or"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for BoolOpOr { + #[inline] + fn eq(&self, other: &BoolOp) -> bool { + matches!(other, BoolOp::Or) + } +} + +impl Node for BoolOp { + const NAME: &'static str = "boolop"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [operator](https://docs.python.org/3/library/ast.html#ast.operator) +#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] +pub enum Operator { + Add, + Sub, + Mult, + MatMult, + Div, + Mod, + Pow, + LShift, + RShift, + BitOr, + BitXor, + BitAnd, + FloorDiv, +} +impl Operator { + #[inline] + pub const fn operator_add(&self) -> Option { + match self { + Operator::Add => Some(OperatorAdd), + _ => None, + } + } + + #[inline] + pub const fn operator_sub(&self) -> Option { + match self { + Operator::Sub => Some(OperatorSub), + _ => None, + } + } + + #[inline] + pub const fn operator_mult(&self) -> Option { + match self { + Operator::Mult => Some(OperatorMult), + _ => None, + } + } + + #[inline] + pub const fn operator_mat_mult(&self) -> Option { + match self { + Operator::MatMult => Some(OperatorMatMult), + _ => None, + } + } + + #[inline] + pub const fn operator_div(&self) -> Option { + match self { + Operator::Div => Some(OperatorDiv), + _ => None, + } + } + + #[inline] + pub const fn operator_mod(&self) -> Option { + match self { + Operator::Mod => Some(OperatorMod), + _ => None, + } + } + + #[inline] + pub const fn operator_pow(&self) -> Option { + match self { + Operator::Pow => Some(OperatorPow), + _ => None, + } + } + + #[inline] + pub const fn operator_l_shift(&self) -> Option { + match self { + Operator::LShift => Some(OperatorLShift), + _ => None, + } + } + + #[inline] + pub const fn operator_r_shift(&self) -> Option { + match self { + Operator::RShift => Some(OperatorRShift), + _ => None, + } + } + + #[inline] + pub const fn operator_bit_or(&self) -> Option { + match self { + Operator::BitOr => Some(OperatorBitOr), + _ => None, + } + } + + #[inline] + pub const fn operator_bit_xor(&self) -> Option { + match self { + Operator::BitXor => Some(OperatorBitXor), + _ => None, + } + } + + #[inline] + pub const fn operator_bit_and(&self) -> Option { + match self { + Operator::BitAnd => Some(OperatorBitAnd), + _ => None, + } + } + + #[inline] + pub const fn operator_floor_div(&self) -> Option { + match self { + Operator::FloorDiv => Some(OperatorFloorDiv), + _ => None, + } + } +} + +pub struct OperatorAdd; +impl From for Operator { + fn from(_: OperatorAdd) -> Self { + Operator::Add + } +} +impl From for Ast { + fn from(_: OperatorAdd) -> Self { + Operator::Add.into() + } +} +impl Node for OperatorAdd { + const NAME: &'static str = "Add"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorAdd { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Add) + } +} + +pub struct OperatorSub; +impl From for Operator { + fn from(_: OperatorSub) -> Self { + Operator::Sub + } +} +impl From for Ast { + fn from(_: OperatorSub) -> Self { + Operator::Sub.into() + } +} +impl Node for OperatorSub { + const NAME: &'static str = "Sub"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorSub { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Sub) + } +} + +pub struct OperatorMult; +impl From for Operator { + fn from(_: OperatorMult) -> Self { + Operator::Mult + } +} +impl From for Ast { + fn from(_: OperatorMult) -> Self { + Operator::Mult.into() + } +} +impl Node for OperatorMult { + const NAME: &'static str = "Mult"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorMult { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Mult) + } +} + +pub struct OperatorMatMult; +impl From for Operator { + fn from(_: OperatorMatMult) -> Self { + Operator::MatMult + } +} +impl From for Ast { + fn from(_: OperatorMatMult) -> Self { + Operator::MatMult.into() + } +} +impl Node for OperatorMatMult { + const NAME: &'static str = "MatMult"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorMatMult { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::MatMult) + } +} + +pub struct OperatorDiv; +impl From for Operator { + fn from(_: OperatorDiv) -> Self { + Operator::Div + } +} +impl From for Ast { + fn from(_: OperatorDiv) -> Self { + Operator::Div.into() + } +} +impl Node for OperatorDiv { + const NAME: &'static str = "Div"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorDiv { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Div) + } +} + +pub struct OperatorMod; +impl From for Operator { + fn from(_: OperatorMod) -> Self { + Operator::Mod + } +} +impl From for Ast { + fn from(_: OperatorMod) -> Self { + Operator::Mod.into() + } +} +impl Node for OperatorMod { + const NAME: &'static str = "Mod"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorMod { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Mod) + } +} + +pub struct OperatorPow; +impl From for Operator { + fn from(_: OperatorPow) -> Self { + Operator::Pow + } +} +impl From for Ast { + fn from(_: OperatorPow) -> Self { + Operator::Pow.into() + } +} +impl Node for OperatorPow { + const NAME: &'static str = "Pow"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorPow { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::Pow) + } +} + +pub struct OperatorLShift; +impl From for Operator { + fn from(_: OperatorLShift) -> Self { + Operator::LShift + } +} +impl From for Ast { + fn from(_: OperatorLShift) -> Self { + Operator::LShift.into() + } +} +impl Node for OperatorLShift { + const NAME: &'static str = "LShift"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorLShift { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::LShift) + } +} + +pub struct OperatorRShift; +impl From for Operator { + fn from(_: OperatorRShift) -> Self { + Operator::RShift + } +} +impl From for Ast { + fn from(_: OperatorRShift) -> Self { + Operator::RShift.into() + } +} +impl Node for OperatorRShift { + const NAME: &'static str = "RShift"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorRShift { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::RShift) + } +} + +pub struct OperatorBitOr; +impl From for Operator { + fn from(_: OperatorBitOr) -> Self { + Operator::BitOr + } +} +impl From for Ast { + fn from(_: OperatorBitOr) -> Self { + Operator::BitOr.into() + } +} +impl Node for OperatorBitOr { + const NAME: &'static str = "BitOr"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorBitOr { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::BitOr) + } +} + +pub struct OperatorBitXor; +impl From for Operator { + fn from(_: OperatorBitXor) -> Self { + Operator::BitXor + } +} +impl From for Ast { + fn from(_: OperatorBitXor) -> Self { + Operator::BitXor.into() + } +} +impl Node for OperatorBitXor { + const NAME: &'static str = "BitXor"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorBitXor { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::BitXor) + } +} + +pub struct OperatorBitAnd; +impl From for Operator { + fn from(_: OperatorBitAnd) -> Self { + Operator::BitAnd + } +} +impl From for Ast { + fn from(_: OperatorBitAnd) -> Self { + Operator::BitAnd.into() + } +} +impl Node for OperatorBitAnd { + const NAME: &'static str = "BitAnd"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorBitAnd { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::BitAnd) + } +} + +pub struct OperatorFloorDiv; +impl From for Operator { + fn from(_: OperatorFloorDiv) -> Self { + Operator::FloorDiv + } +} +impl From for Ast { + fn from(_: OperatorFloorDiv) -> Self { + Operator::FloorDiv.into() + } +} +impl Node for OperatorFloorDiv { + const NAME: &'static str = "FloorDiv"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for OperatorFloorDiv { + #[inline] + fn eq(&self, other: &Operator) -> bool { + matches!(other, Operator::FloorDiv) + } +} + +impl Node for Operator { + const NAME: &'static str = "operator"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [unaryop](https://docs.python.org/3/library/ast.html#ast.unaryop) +#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] +pub enum UnaryOp { + Invert, + Not, + UAdd, + USub, +} +impl UnaryOp { + #[inline] + pub const fn invert(&self) -> Option { + match self { + UnaryOp::Invert => Some(UnaryOpInvert), + _ => None, + } + } + + #[inline] + pub const fn not(&self) -> Option { + match self { + UnaryOp::Not => Some(UnaryOpNot), + _ => None, + } + } + + #[inline] + pub const fn u_add(&self) -> Option { + match self { + UnaryOp::UAdd => Some(UnaryOpUAdd), + _ => None, + } + } + + #[inline] + pub const fn u_sub(&self) -> Option { + match self { + UnaryOp::USub => Some(UnaryOpUSub), + _ => None, + } + } +} + +pub struct UnaryOpInvert; +impl From for UnaryOp { + fn from(_: UnaryOpInvert) -> Self { + UnaryOp::Invert + } +} +impl From for Ast { + fn from(_: UnaryOpInvert) -> Self { + UnaryOp::Invert.into() + } +} +impl Node for UnaryOpInvert { + const NAME: &'static str = "Invert"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for UnaryOpInvert { + #[inline] + fn eq(&self, other: &UnaryOp) -> bool { + matches!(other, UnaryOp::Invert) + } +} + +pub struct UnaryOpNot; +impl From for UnaryOp { + fn from(_: UnaryOpNot) -> Self { + UnaryOp::Not + } +} +impl From for Ast { + fn from(_: UnaryOpNot) -> Self { + UnaryOp::Not.into() + } +} +impl Node for UnaryOpNot { + const NAME: &'static str = "Not"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for UnaryOpNot { + #[inline] + fn eq(&self, other: &UnaryOp) -> bool { + matches!(other, UnaryOp::Not) + } +} + +pub struct UnaryOpUAdd; +impl From for UnaryOp { + fn from(_: UnaryOpUAdd) -> Self { + UnaryOp::UAdd + } +} +impl From for Ast { + fn from(_: UnaryOpUAdd) -> Self { + UnaryOp::UAdd.into() + } +} +impl Node for UnaryOpUAdd { + const NAME: &'static str = "UAdd"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for UnaryOpUAdd { + #[inline] + fn eq(&self, other: &UnaryOp) -> bool { + matches!(other, UnaryOp::UAdd) + } +} + +pub struct UnaryOpUSub; +impl From for UnaryOp { + fn from(_: UnaryOpUSub) -> Self { + UnaryOp::USub + } +} +impl From for Ast { + fn from(_: UnaryOpUSub) -> Self { + UnaryOp::USub.into() + } +} +impl Node for UnaryOpUSub { + const NAME: &'static str = "USub"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for UnaryOpUSub { + #[inline] + fn eq(&self, other: &UnaryOp) -> bool { + matches!(other, UnaryOp::USub) + } +} + +impl Node for UnaryOp { + const NAME: &'static str = "unaryop"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [cmpop](https://docs.python.org/3/library/ast.html#ast.cmpop) +#[derive(Clone, Debug, PartialEq, is_macro::Is, Copy, Hash, Eq)] +pub enum CmpOp { + Eq, + NotEq, + Lt, + LtE, + Gt, + GtE, + Is, + IsNot, + In, + NotIn, +} +impl CmpOp { + #[inline] + pub const fn cmp_op_eq(&self) -> Option { + match self { + CmpOp::Eq => Some(CmpOpEq), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_not_eq(&self) -> Option { + match self { + CmpOp::NotEq => Some(CmpOpNotEq), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_lt(&self) -> Option { + match self { + CmpOp::Lt => Some(CmpOpLt), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_lt_e(&self) -> Option { + match self { + CmpOp::LtE => Some(CmpOpLtE), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_gt(&self) -> Option { + match self { + CmpOp::Gt => Some(CmpOpGt), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_gt_e(&self) -> Option { + match self { + CmpOp::GtE => Some(CmpOpGtE), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_is(&self) -> Option { + match self { + CmpOp::Is => Some(CmpOpIs), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_is_not(&self) -> Option { + match self { + CmpOp::IsNot => Some(CmpOpIsNot), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_in(&self) -> Option { + match self { + CmpOp::In => Some(CmpOpIn), + _ => None, + } + } + + #[inline] + pub const fn cmp_op_not_in(&self) -> Option { + match self { + CmpOp::NotIn => Some(CmpOpNotIn), + _ => None, + } + } +} + +pub struct CmpOpEq; +impl From for CmpOp { + fn from(_: CmpOpEq) -> Self { + CmpOp::Eq + } +} +impl From for Ast { + fn from(_: CmpOpEq) -> Self { + CmpOp::Eq.into() + } +} +impl Node for CmpOpEq { + const NAME: &'static str = "Eq"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpEq { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::Eq) + } +} -#[cfg(not(feature = "all-nodes-with-ranges"))] -pub type OptionalRange = EmptyRange; +pub struct CmpOpNotEq; +impl From for CmpOp { + fn from(_: CmpOpNotEq) -> Self { + CmpOp::NotEq + } +} +impl From for Ast { + fn from(_: CmpOpNotEq) -> Self { + CmpOp::NotEq.into() + } +} +impl Node for CmpOpNotEq { + const NAME: &'static str = "NotEq"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpNotEq { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::NotEq) + } +} -#[cfg(not(feature = "all-nodes-with-ranges"))] -impl From for OptionalRange { - fn from(_: R) -> Self { - Self { - phantom: PhantomData, - } +pub struct CmpOpLt; +impl From for CmpOp { + fn from(_: CmpOpLt) -> Self { + CmpOp::Lt + } +} +impl From for Ast { + fn from(_: CmpOpLt) -> Self { + CmpOp::Lt.into() + } +} +impl Node for CmpOpLt { + const NAME: &'static str = "Lt"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpLt { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::Lt) } } -#[derive(Eq, PartialEq, Hash, Copy, Clone)] -pub struct EmptyRange { - phantom: PhantomData, +pub struct CmpOpLtE; +impl From for CmpOp { + fn from(_: CmpOpLtE) -> Self { + CmpOp::LtE + } +} +impl From for Ast { + fn from(_: CmpOpLtE) -> Self { + CmpOp::LtE.into() + } +} +impl Node for CmpOpLtE { + const NAME: &'static str = "LtE"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpLtE { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::LtE) + } } -impl EmptyRange { - #[inline(always)] - pub fn new(_start: TextSize, _end: TextSize) -> Self { - Self { - phantom: PhantomData, - } +pub struct CmpOpGt; +impl From for CmpOp { + fn from(_: CmpOpGt) -> Self { + CmpOp::Gt + } +} +impl From for Ast { + fn from(_: CmpOpGt) -> Self { + CmpOp::Gt.into() + } +} +impl Node for CmpOpGt { + const NAME: &'static str = "Gt"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpGt { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::Gt) + } +} + +pub struct CmpOpGtE; +impl From for CmpOp { + fn from(_: CmpOpGtE) -> Self { + CmpOp::GtE + } +} +impl From for Ast { + fn from(_: CmpOpGtE) -> Self { + CmpOp::GtE.into() + } +} +impl Node for CmpOpGtE { + const NAME: &'static str = "GtE"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpGtE { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::GtE) + } +} + +pub struct CmpOpIs; +impl From for CmpOp { + fn from(_: CmpOpIs) -> Self { + CmpOp::Is + } +} +impl From for Ast { + fn from(_: CmpOpIs) -> Self { + CmpOp::Is.into() + } +} +impl Node for CmpOpIs { + const NAME: &'static str = "Is"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpIs { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::Is) } } -impl Display for EmptyRange { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.write_str("()") +pub struct CmpOpIsNot; +impl From for CmpOp { + fn from(_: CmpOpIsNot) -> Self { + CmpOp::IsNot + } +} +impl From for Ast { + fn from(_: CmpOpIsNot) -> Self { + CmpOp::IsNot.into() + } +} +impl Node for CmpOpIsNot { + const NAME: &'static str = "IsNot"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpIsNot { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::IsNot) } } -impl Debug for EmptyRange { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - Display::fmt(self, f) +pub struct CmpOpIn; +impl From for CmpOp { + fn from(_: CmpOpIn) -> Self { + CmpOp::In + } +} +impl From for Ast { + fn from(_: CmpOpIn) -> Self { + CmpOp::In.into() + } +} +impl Node for CmpOpIn { + const NAME: &'static str = "In"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpIn { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::In) } } -impl Default for EmptyRange { - fn default() -> Self { - EmptyRange { - phantom: PhantomData, - } +pub struct CmpOpNotIn; +impl From for CmpOp { + fn from(_: CmpOpNotIn) -> Self { + CmpOp::NotIn + } +} +impl From for Ast { + fn from(_: CmpOpNotIn) -> Self { + CmpOp::NotIn.into() + } +} +impl Node for CmpOpNotIn { + const NAME: &'static str = "NotIn"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} +impl std::cmp::PartialEq for CmpOpNotIn { + #[inline] + fn eq(&self, other: &CmpOp) -> bool { + matches!(other, CmpOp::NotIn) + } +} + +impl Node for CmpOp { + const NAME: &'static str = "cmpop"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [comprehension](https://docs.python.org/3/library/ast.html#ast.comprehension) +#[derive(Clone, Debug, PartialEq)] +pub struct Comprehension { + pub range: TextRange, + pub target: Expr, + pub iter: Expr, + pub ifs: Vec, + pub is_async: bool, +} + +impl Node for Comprehension { + const NAME: &'static str = "comprehension"; + const FIELD_NAMES: &'static [&'static str] = &["target", "iter", "ifs", "is_async"]; +} + +/// See also [excepthandler](https://docs.python.org/3/library/ast.html#ast.excepthandler) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum ExceptHandler { + ExceptHandler(ExceptHandlerExceptHandler), +} + +/// See also [ExceptHandler](https://docs.python.org/3/library/ast.html#ast.ExceptHandler) +#[derive(Clone, Debug, PartialEq)] +pub struct ExceptHandlerExceptHandler { + pub range: TextRange, + pub type_: Option>, + pub name: Option, + pub body: Vec, +} + +impl Node for ExceptHandlerExceptHandler { + const NAME: &'static str = "ExceptHandler"; + const FIELD_NAMES: &'static [&'static str] = &["type", "name", "body"]; +} +impl From for ExceptHandler { + fn from(payload: ExceptHandlerExceptHandler) -> Self { + ExceptHandler::ExceptHandler(payload) + } +} +impl From for Ast { + fn from(payload: ExceptHandlerExceptHandler) -> Self { + ExceptHandler::from(payload).into() + } +} + +impl Node for ExceptHandler { + const NAME: &'static str = "excepthandler"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [arguments](https://docs.python.org/3/library/ast.html#ast.arguments) +#[derive(Clone, Debug, PartialEq)] +pub struct PythonArguments { + pub range: TextRange, + pub posonlyargs: Vec, + pub args: Vec, + pub vararg: Option>, + pub kwonlyargs: Vec, + pub kw_defaults: Vec, + pub kwarg: Option>, + pub defaults: Vec, +} + +impl Node for PythonArguments { + const NAME: &'static str = "arguments"; + const FIELD_NAMES: &'static [&'static str] = &[ + "posonlyargs", + "args", + "vararg", + "kwonlyargs", + "kw_defaults", + "kwarg", + "defaults", + ]; +} + +/// See also [arg](https://docs.python.org/3/library/ast.html#ast.arg) +#[derive(Clone, Debug, PartialEq)] +pub struct Arg { + pub range: TextRange, + pub arg: Identifier, + pub annotation: Option>, + pub type_comment: Option, +} + +impl Node for Arg { + const NAME: &'static str = "arg"; + const FIELD_NAMES: &'static [&'static str] = &["arg", "annotation", "type_comment"]; +} + +/// See also [keyword](https://docs.python.org/3/library/ast.html#ast.keyword) +#[derive(Clone, Debug, PartialEq)] +pub struct Keyword { + pub range: TextRange, + pub arg: Option, + pub value: Expr, +} + +impl Node for Keyword { + const NAME: &'static str = "keyword"; + const FIELD_NAMES: &'static [&'static str] = &["arg", "value"]; +} + +/// See also [alias](https://docs.python.org/3/library/ast.html#ast.alias) +#[derive(Clone, Debug, PartialEq)] +pub struct Alias { + pub range: TextRange, + pub name: Identifier, + pub asname: Option, +} + +impl Node for Alias { + const NAME: &'static str = "alias"; + const FIELD_NAMES: &'static [&'static str] = &["name", "asname"]; +} + +/// See also [withitem](https://docs.python.org/3/library/ast.html#ast.withitem) +#[derive(Clone, Debug, PartialEq)] +pub struct WithItem { + pub range: TextRange, + pub context_expr: Expr, + pub optional_vars: Option>, +} + +impl Node for WithItem { + const NAME: &'static str = "withitem"; + const FIELD_NAMES: &'static [&'static str] = &["context_expr", "optional_vars"]; +} + +/// See also [match_case](https://docs.python.org/3/library/ast.html#ast.match_case) +#[derive(Clone, Debug, PartialEq)] +pub struct MatchCase { + pub range: TextRange, + pub pattern: Pattern, + pub guard: Option>, + pub body: Vec, +} + +impl Node for MatchCase { + const NAME: &'static str = "match_case"; + const FIELD_NAMES: &'static [&'static str] = &["pattern", "guard", "body"]; +} + +/// See also [pattern](https://docs.python.org/3/library/ast.html#ast.pattern) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum Pattern { + MatchValue(PatternMatchValue), + MatchSingleton(PatternMatchSingleton), + MatchSequence(PatternMatchSequence), + MatchMapping(PatternMatchMapping), + MatchClass(PatternMatchClass), + MatchStar(PatternMatchStar), + MatchAs(PatternMatchAs), + MatchOr(PatternMatchOr), +} + +/// See also [MatchValue](https://docs.python.org/3/library/ast.html#ast.MatchValue) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchValue { + pub range: TextRange, + pub value: Box, +} + +impl Node for PatternMatchValue { + const NAME: &'static str = "MatchValue"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Pattern { + fn from(payload: PatternMatchValue) -> Self { + Pattern::MatchValue(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchValue) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchSingleton](https://docs.python.org/3/library/ast.html#ast.MatchSingleton) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchSingleton { + pub range: TextRange, + pub value: Constant, +} + +impl Node for PatternMatchSingleton { + const NAME: &'static str = "MatchSingleton"; + const FIELD_NAMES: &'static [&'static str] = &["value"]; +} +impl From for Pattern { + fn from(payload: PatternMatchSingleton) -> Self { + Pattern::MatchSingleton(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchSingleton) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchSequence](https://docs.python.org/3/library/ast.html#ast.MatchSequence) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchSequence { + pub range: TextRange, + pub patterns: Vec, +} + +impl Node for PatternMatchSequence { + const NAME: &'static str = "MatchSequence"; + const FIELD_NAMES: &'static [&'static str] = &["patterns"]; +} +impl From for Pattern { + fn from(payload: PatternMatchSequence) -> Self { + Pattern::MatchSequence(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchSequence) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchMapping](https://docs.python.org/3/library/ast.html#ast.MatchMapping) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchMapping { + pub range: TextRange, + pub keys: Vec, + pub patterns: Vec, + pub rest: Option, +} + +impl Node for PatternMatchMapping { + const NAME: &'static str = "MatchMapping"; + const FIELD_NAMES: &'static [&'static str] = &["keys", "patterns", "rest"]; +} +impl From for Pattern { + fn from(payload: PatternMatchMapping) -> Self { + Pattern::MatchMapping(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchMapping) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchClass](https://docs.python.org/3/library/ast.html#ast.MatchClass) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchClass { + pub range: TextRange, + pub cls: Box, + pub patterns: Vec, + pub kwd_attrs: Vec, + pub kwd_patterns: Vec, +} + +impl Node for PatternMatchClass { + const NAME: &'static str = "MatchClass"; + const FIELD_NAMES: &'static [&'static str] = &["cls", "patterns", "kwd_attrs", "kwd_patterns"]; +} +impl From for Pattern { + fn from(payload: PatternMatchClass) -> Self { + Pattern::MatchClass(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchClass) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchStar](https://docs.python.org/3/library/ast.html#ast.MatchStar) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchStar { + pub range: TextRange, + pub name: Option, +} + +impl Node for PatternMatchStar { + const NAME: &'static str = "MatchStar"; + const FIELD_NAMES: &'static [&'static str] = &["name"]; +} +impl From for Pattern { + fn from(payload: PatternMatchStar) -> Self { + Pattern::MatchStar(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchStar) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchAs](https://docs.python.org/3/library/ast.html#ast.MatchAs) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchAs { + pub range: TextRange, + pub pattern: Option>, + pub name: Option, +} + +impl Node for PatternMatchAs { + const NAME: &'static str = "MatchAs"; + const FIELD_NAMES: &'static [&'static str] = &["pattern", "name"]; +} +impl From for Pattern { + fn from(payload: PatternMatchAs) -> Self { + Pattern::MatchAs(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchAs) -> Self { + Pattern::from(payload).into() + } +} + +/// See also [MatchOr](https://docs.python.org/3/library/ast.html#ast.MatchOr) +#[derive(Clone, Debug, PartialEq)] +pub struct PatternMatchOr { + pub range: TextRange, + pub patterns: Vec, +} + +impl Node for PatternMatchOr { + const NAME: &'static str = "MatchOr"; + const FIELD_NAMES: &'static [&'static str] = &["patterns"]; +} +impl From for Pattern { + fn from(payload: PatternMatchOr) -> Self { + Pattern::MatchOr(payload) + } +} +impl From for Ast { + fn from(payload: PatternMatchOr) -> Self { + Pattern::from(payload).into() + } +} + +impl Node for Pattern { + const NAME: &'static str = "pattern"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [type_ignore](https://docs.python.org/3/library/ast.html#ast.type_ignore) +#[derive(Clone, Debug, PartialEq, is_macro::Is)] +pub enum TypeIgnore { + TypeIgnore(TypeIgnoreTypeIgnore), +} + +/// See also [TypeIgnore](https://docs.python.org/3/library/ast.html#ast.TypeIgnore) +#[derive(Clone, Debug, PartialEq)] +pub struct TypeIgnoreTypeIgnore { + pub range: TextRange, + pub lineno: Int, + pub tag: String, +} + +impl Node for TypeIgnoreTypeIgnore { + const NAME: &'static str = "TypeIgnore"; + const FIELD_NAMES: &'static [&'static str] = &["lineno", "tag"]; +} +impl From for TypeIgnore { + fn from(payload: TypeIgnoreTypeIgnore) -> Self { + TypeIgnore::TypeIgnore(payload) + } +} +impl From for Ast { + fn from(payload: TypeIgnoreTypeIgnore) -> Self { + TypeIgnore::from(payload).into() } } +impl Node for TypeIgnore { + const NAME: &'static str = "type_ignore"; + const FIELD_NAMES: &'static [&'static str] = &[]; +} + +/// See also [decorator](https://docs.python.org/3/library/ast.html#ast.decorator) +#[derive(Clone, Debug, PartialEq)] +pub struct Decorator { + pub range: TextRange, + pub expression: Expr, +} + +impl Node for Decorator { + const NAME: &'static str = "decorator"; + const FIELD_NAMES: &'static [&'static str] = &["expression"]; +} + +/// An alternative type of AST `arguments`. This is parser-friendly and human-friendly definition of function arguments. +/// This form also has advantage to implement pre-order traverse. +/// `defaults` and `kw_defaults` fields are removed and the default values are placed under each `arg_with_default` typed argument. +/// `vararg` and `kwarg` are still typed as `arg` because they never can have a default value. +/// +/// The matching Python style AST type is [PythonArguments]. While [PythonArguments] has ordered `kwonlyargs` fields by +/// default existence, [Arguments] has location-ordered kwonlyargs fields. +/// +/// NOTE: This type is different from original Python AST. + +#[derive(Clone, Debug, PartialEq)] +pub struct Arguments { + pub range: TextRange, + pub posonlyargs: Vec, + pub args: Vec, + pub vararg: Option>, + pub kwonlyargs: Vec, + pub kwarg: Option>, +} + +impl Node for Arguments { + const NAME: &'static str = "alt:arguments"; + const FIELD_NAMES: &'static [&'static str] = + &["posonlyargs", "args", "vararg", "kwonlyargs", "kwarg"]; +} + +/// An alternative type of AST `arg`. This is used for each function argument that might have a default value. +/// Used by `Arguments` original type. +/// +/// NOTE: This type is different from original Python AST. + +#[derive(Clone, Debug, PartialEq)] +pub struct ArgWithDefault { + pub range: TextRange, + pub def: Arg, + pub default: Option>, +} + +impl Node for ArgWithDefault { + const NAME: &'static str = "arg_with_default"; + const FIELD_NAMES: &'static [&'static str] = &["def", "default"]; +} + +pub type Suite = Vec; + impl CmpOp { pub fn as_str(&self) -> &'static str { match self { @@ -71,8 +3158,8 @@ impl CmpOp { } } -impl Arguments { - pub fn empty(range: OptionalRange) -> Self { +impl Arguments { + pub fn empty(range: TextRange) -> Self { Self { range, posonlyargs: Vec::new(), @@ -85,39 +3172,17 @@ impl Arguments { } #[allow(clippy::borrowed_box)] // local utility -fn clone_boxed_expr(expr: &Box>) -> Box> { - let expr: &Expr<_> = expr.as_ref(); +fn clone_boxed_expr(expr: &Box) -> Box { + let expr: &Expr = expr.as_ref(); Box::new(expr.clone()) } -impl ArgWithDefault { - pub fn from_arg(def: Arg, default: Option>) -> Self - where - R: Clone, - { - let range = { - if cfg!(feature = "all-nodes-with-ranges") { - todo!("range recovery is not implemented yet") // def.range.start()..default.range.end() - } else { - #[allow(clippy::useless_conversion)] // false positive by cfg - OptionalRange::from(def.range.clone()) - } - }; - Self { - range, - def, - default: default.map(Box::new), - } - } - - pub fn as_arg(&self) -> &Arg { +impl ArgWithDefault { + pub fn as_arg(&self) -> &Arg { &self.def } - pub fn to_arg(&self) -> (Arg, Option>>) - where - R: Clone, - { + pub fn to_arg(&self) -> (Arg, Option>) { let ArgWithDefault { range: _, def, @@ -125,7 +3190,7 @@ impl ArgWithDefault { } = self; (def.clone(), default.as_ref().map(clone_boxed_expr)) } - pub fn into_arg(self) -> (Arg, Option>>) { + pub fn into_arg(self) -> (Arg, Option>) { let ArgWithDefault { range: _, def, @@ -135,8 +3200,8 @@ impl ArgWithDefault { } } -impl Arguments { - pub fn defaults(&self) -> impl std::iter::Iterator> { +impl Arguments { + pub fn defaults(&self) -> impl std::iter::Iterator { self.posonlyargs .iter() .chain(self.args.iter()) @@ -144,7 +3209,7 @@ impl Arguments { } #[allow(clippy::type_complexity)] - pub fn split_kwonlyargs(&self) -> (Vec<&Arg>, Vec<(&Arg, &Expr)>) { + pub fn split_kwonlyargs(&self) -> (Vec<&Arg>, Vec<(&Arg, &Expr)>) { let mut args = Vec::new(); let mut with_defaults = Vec::new(); for arg in self.kwonlyargs.iter() { @@ -156,172 +3221,4 @@ impl Arguments { } (args, with_defaults) } - - pub fn to_python_arguments(&self) -> PythonArguments - where - R: Clone, - { - let Arguments { - range, - posonlyargs, - args, - vararg, - kwonlyargs, - kwarg, - } = self; - - let mut pos_only = Vec::with_capacity(posonlyargs.len()); - let mut pos_args = Vec::with_capacity(args.len()); - let mut defaults = Vec::new(); - for arg in posonlyargs { - let (arg, default) = arg.to_arg(); - if let Some(default) = default { - defaults.push(*default); - } - pos_only.push(arg); - } - for arg in args { - let (arg, default) = arg.to_arg(); - if let Some(default) = default { - defaults.push(*default); - } - pos_args.push(arg); - } - - let mut kw_only = Vec::with_capacity(kwonlyargs.len()); - let mut kw_defaults = Vec::new(); - for arg in kwonlyargs { - let (arg, default) = arg.to_arg(); - if let Some(default) = default { - kw_defaults.push(*default); - } - kw_only.push(arg); - } - - PythonArguments { - range: range.clone(), - posonlyargs: pos_only, - args: pos_args, - defaults, - vararg: vararg.clone(), - kwonlyargs: kw_only, - kw_defaults, - kwarg: kwarg.clone(), - } - } - - pub fn into_python_arguments(self) -> PythonArguments { - let Arguments { - range, - posonlyargs, - args, - vararg, - kwonlyargs, - kwarg, - } = self; - - let mut pos_only = Vec::with_capacity(posonlyargs.len()); - let mut pos_args = Vec::with_capacity(args.len()); - let mut defaults = Vec::new(); - for arg in posonlyargs { - let (arg, default) = arg.into_arg(); - if let Some(default) = default { - defaults.push(*default); - } - pos_only.push(arg); - } - for arg in args { - let (arg, default) = arg.into_arg(); - if let Some(default) = default { - defaults.push(*default); - } - pos_args.push(arg); - } - - let mut kw_only = Vec::with_capacity(kwonlyargs.len()); - let mut kw_defaults = Vec::new(); - for arg in kwonlyargs { - let (arg, default) = arg.into_arg(); - if let Some(default) = default { - kw_defaults.push(*default); - } - kw_only.push(arg); - } - - PythonArguments { - range, - posonlyargs: pos_only, - args: pos_args, - defaults, - vararg, - kwonlyargs: kw_only, - kw_defaults, - kwarg, - } - } -} - -impl PythonArguments { - pub fn into_arguments(self) -> Arguments - where - R: Clone, - { - let PythonArguments { - range, - posonlyargs, - args, - defaults, - vararg, - kwonlyargs, - kw_defaults, - kwarg, - } = self; - - let mut pos_only = Vec::with_capacity(posonlyargs.len()); - let mut pos_args = Vec::with_capacity(args.len()); - let args_len = posonlyargs.len() + args.len(); - // not optimal - let mut defaults: Vec<_> = std::iter::repeat_with(|| None) - .take(args_len - defaults.len()) - .chain(defaults.into_iter().map(Some)) - .collect(); - debug_assert_eq!(args_len, defaults.len()); - - for (arg, default) in std::iter::zip(args, defaults.drain(posonlyargs.len()..)) { - let arg = ArgWithDefault::from_arg(arg, default); - pos_args.push(arg); - } - - for (arg, default) in std::iter::zip(posonlyargs, defaults.drain(..)) { - let arg = ArgWithDefault::from_arg(arg, default); - pos_only.push(arg); - } - - let mut kw_only = Vec::with_capacity(kwonlyargs.len()); - let kw_defaults: Vec<_> = std::iter::repeat_with(|| None) - .take(kw_only.len().saturating_sub(kw_defaults.len())) - .chain(kw_defaults.into_iter().map(Some)) - .collect(); - for (arg, default) in std::iter::zip(kwonlyargs, kw_defaults) { - let arg = ArgWithDefault::from_arg(arg, default); - kw_only.push(arg); - } - - Arguments { - range, - posonlyargs: pos_only, - args: pos_args, - vararg, - kwonlyargs: kw_only, - kwarg, - } - } } - -impl From> for PythonArguments { - fn from(arguments: Arguments) -> Self { - arguments.into_python_arguments() - } -} - -include!("gen/generic.rs"); diff --git a/ast/src/impls.rs b/ast/src/impls.rs index 3c267e85..c4df7540 100644 --- a/ast/src/impls.rs +++ b/ast/src/impls.rs @@ -1,6 +1,6 @@ use crate::{Constant, Expr}; -impl Expr { +impl Expr { /// Returns a short name for the node suitable for use in error messages. pub fn python_name(&self) -> &'static str { match self { @@ -57,8 +57,8 @@ impl Expr { #[cfg(target_arch = "x86_64")] static_assertions::assert_eq_size!(crate::Expr, [u8; 72]); #[cfg(target_arch = "x86_64")] -static_assertions::assert_eq_size!(crate::Stmt, [u8; 136]); +static_assertions::assert_eq_size!(crate::Stmt, [u8; 160]); #[cfg(target_arch = "x86_64")] static_assertions::assert_eq_size!(crate::Pattern, [u8; 96]); #[cfg(target_arch = "x86_64")] -static_assertions::assert_eq_size!(crate::ExceptHandler, [u8; 64]); +static_assertions::assert_eq_size!(crate::ExceptHandler, [u8; 72]); diff --git a/ast/src/lib.rs b/ast/src/lib.rs index 4e5d3715..1b12a93e 100644 --- a/ast/src/lib.rs +++ b/ast/src/lib.rs @@ -19,12 +19,10 @@ mod builtin; mod generic; mod impls; mod ranged; -#[cfg(feature = "unparse")] -mod unparse; #[cfg(feature = "malachite-bigint")] pub use malachite_bigint as bigint; -#[cfg(feature = "num-bigint")] +#[cfg(all(feature = "num-bigint", not(feature = "malachite-bigint")))] pub use num_bigint as bigint; pub use builtin::*; @@ -36,30 +34,3 @@ pub trait Node { const NAME: &'static str; const FIELD_NAMES: &'static [&'static str]; } - -#[cfg(feature = "fold")] -pub mod fold; -#[cfg(feature = "fold")] -pub use fold::Fold; - -#[cfg(feature = "visitor")] -mod visitor { - use super::generic::*; - - include!("gen/visitor.rs"); -} - -#[cfg(feature = "location")] -pub mod located; -#[cfg(feature = "location")] -mod source_locator; -#[cfg(feature = "location")] -pub use rustpython_parser_core::source_code; - -#[cfg(feature = "visitor")] -pub use visitor::Visitor; - -#[cfg(feature = "constant-optimization")] -mod optimizer; -#[cfg(feature = "constant-optimization")] -pub use optimizer::ConstantOptimizer; diff --git a/ast/src/located.rs b/ast/src/located.rs deleted file mode 100644 index bf252617..00000000 --- a/ast/src/located.rs +++ /dev/null @@ -1,23 +0,0 @@ -#![allow(clippy::derive_partial_eq_without_eq)] -use crate::source_code::{SourceLocation, SourceRange}; - -pub trait Located { - fn range(&self) -> SourceRange; - - fn location(&self) -> SourceLocation { - self.range().start - } - - fn end_location(&self) -> Option { - self.range().end - } -} - -pub trait LocatedMut: Located { - fn range_mut(&mut self) -> &mut SourceRange; -} - -pub type Suite = Vec; - -pub use crate::builtin::*; -include!("gen/located.rs"); diff --git a/ast/src/optimizer.rs b/ast/src/optimizer.rs deleted file mode 100644 index 42a6dddc..00000000 --- a/ast/src/optimizer.rs +++ /dev/null @@ -1,131 +0,0 @@ -use crate::builtin::Constant; - -#[non_exhaustive] -#[derive(Default)] -pub struct ConstantOptimizer {} - -impl ConstantOptimizer { - #[inline] - pub fn new() -> Self { - Self {} - } -} - -#[cfg(feature = "constant-optimization")] -impl crate::fold::Fold for ConstantOptimizer { - type TargetU = U; - type Error = std::convert::Infallible; - type UserContext = (); - - #[inline(always)] - fn will_map_user(&mut self, _user: &U) -> Self::UserContext {} - #[inline] - fn map_user(&mut self, user: U, _context: ()) -> Result { - Ok(user) - } - fn fold_expr(&mut self, node: crate::Expr) -> Result, Self::Error> { - match node { - crate::Expr::Tuple(crate::ExprTuple { elts, ctx, range }) => { - let elts = elts - .into_iter() - .map(|x| self.fold_expr(x)) - .collect::, _>>()?; - let expr = if elts.iter().all(|e| e.is_constant_expr()) { - let tuple = elts - .into_iter() - .map(|e| match e { - crate::Expr::Constant(crate::ExprConstant { value, .. }) => value, - _ => unreachable!(), - }) - .collect(); - crate::Expr::Constant(crate::ExprConstant { - value: Constant::Tuple(tuple), - kind: None, - range, - }) - } else { - crate::Expr::Tuple(crate::ExprTuple { elts, ctx, range }) - }; - Ok(expr) - } - _ => crate::fold::fold_expr(self, node), - } - } -} - -#[cfg(test)] -mod tests { - use crate::bigint::BigInt; - use rustpython_parser_core::text_size::TextRange; - - #[cfg(feature = "constant-optimization")] - #[test] - fn test_constant_opt() { - use crate::{fold::Fold, *}; - - let range = TextRange::default(); - let ast = ExprTuple { - ctx: ExprContext::Load, - elts: vec![ - ExprConstant { - value: BigInt::from(1).into(), - kind: None, - range, - } - .into(), - ExprConstant { - value: BigInt::from(2).into(), - kind: None, - range, - } - .into(), - ExprTuple { - ctx: ExprContext::Load, - elts: vec![ - ExprConstant { - value: BigInt::from(3).into(), - kind: None, - range, - } - .into(), - ExprConstant { - value: BigInt::from(4).into(), - kind: None, - range, - } - .into(), - ExprConstant { - value: BigInt::from(5).into(), - kind: None, - range, - } - .into(), - ], - range, - } - .into(), - ], - range, - }; - let new_ast = ConstantOptimizer::new() - .fold_expr(ast.into()) - .unwrap_or_else(|e| match e {}); - assert_eq!( - new_ast, - ExprConstant { - value: Constant::Tuple(vec![ - BigInt::from(1).into(), - BigInt::from(2).into(), - Constant::Tuple(vec![ - BigInt::from(3).into(), - BigInt::from(4).into(), - BigInt::from(5).into(), - ]) - ]), - kind: None, - range, - } - .into(), - ); - } -} diff --git a/ast/src/ranged.rs b/ast/src/ranged.rs index f01c15a7..b7b7949f 100644 --- a/ast/src/ranged.rs +++ b/ast/src/ranged.rs @@ -1,3 +1,5 @@ +// This file was originally generated from asdl by a python script, but we now edit it manually + use crate::text_size::{TextRange, TextSize}; pub use crate::builtin::*; @@ -14,4 +16,518 @@ pub trait Ranged { } } -include!("gen/ranged.rs"); +impl Ranged for TextRange { + fn range(&self) -> TextRange { + *self + } +} + +impl Ranged for &T +where + T: Ranged, +{ + fn range(&self) -> TextRange { + T::range(self) + } +} + +impl Ranged for crate::generic::ModModule { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ModInteractive { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ModExpression { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ModFunctionType { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::Mod { + fn range(&self) -> TextRange { + match self { + Self::Module(node) => node.range(), + Self::Interactive(node) => node.range(), + Self::Expression(node) => node.range(), + Self::FunctionType(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::StmtFunctionDef { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAsyncFunctionDef { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtClassDef { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtReturn { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtDelete { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAssign { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAugAssign { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAnnAssign { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtFor { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAsyncFor { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtWhile { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtIf { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtWith { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAsyncWith { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtMatch { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtRaise { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtTry { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtTryStar { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtAssert { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtImport { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtImportFrom { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtGlobal { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtNonlocal { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtExpr { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtPass { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtBreak { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::StmtContinue { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::Stmt { + fn range(&self) -> TextRange { + match self { + Self::FunctionDef(node) => node.range(), + Self::AsyncFunctionDef(node) => node.range(), + Self::ClassDef(node) => node.range(), + Self::Return(node) => node.range(), + Self::Delete(node) => node.range(), + Self::Assign(node) => node.range(), + Self::AugAssign(node) => node.range(), + Self::AnnAssign(node) => node.range(), + Self::For(node) => node.range(), + Self::AsyncFor(node) => node.range(), + Self::While(node) => node.range(), + Self::If(node) => node.range(), + Self::With(node) => node.range(), + Self::AsyncWith(node) => node.range(), + Self::Match(node) => node.range(), + Self::Raise(node) => node.range(), + Self::Try(node) => node.range(), + Self::TryStar(node) => node.range(), + Self::Assert(node) => node.range(), + Self::Import(node) => node.range(), + Self::ImportFrom(node) => node.range(), + Self::Global(node) => node.range(), + Self::Nonlocal(node) => node.range(), + Self::Expr(node) => node.range(), + Self::Pass(node) => node.range(), + Self::Break(node) => node.range(), + Self::Continue(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::ExprBoolOp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprNamedExpr { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprBinOp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprUnaryOp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprLambda { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprIfExp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprDict { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprSet { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprListComp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprSetComp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprDictComp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprGeneratorExp { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprAwait { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprYield { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprYieldFrom { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprCompare { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprCall { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprFormattedValue { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprJoinedStr { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprConstant { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprAttribute { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprSubscript { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprStarred { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprName { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprList { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprTuple { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExprSlice { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::Expr { + fn range(&self) -> TextRange { + match self { + Self::BoolOp(node) => node.range(), + Self::NamedExpr(node) => node.range(), + Self::BinOp(node) => node.range(), + Self::UnaryOp(node) => node.range(), + Self::Lambda(node) => node.range(), + Self::IfExp(node) => node.range(), + Self::Dict(node) => node.range(), + Self::Set(node) => node.range(), + Self::ListComp(node) => node.range(), + Self::SetComp(node) => node.range(), + Self::DictComp(node) => node.range(), + Self::GeneratorExp(node) => node.range(), + Self::Await(node) => node.range(), + Self::Yield(node) => node.range(), + Self::YieldFrom(node) => node.range(), + Self::Compare(node) => node.range(), + Self::Call(node) => node.range(), + Self::FormattedValue(node) => node.range(), + Self::JoinedStr(node) => node.range(), + Self::Constant(node) => node.range(), + Self::Attribute(node) => node.range(), + Self::Subscript(node) => node.range(), + Self::Starred(node) => node.range(), + Self::Name(node) => node.range(), + Self::List(node) => node.range(), + Self::Tuple(node) => node.range(), + Self::Slice(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::Comprehension { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ExceptHandlerExceptHandler { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::ExceptHandler { + fn range(&self) -> TextRange { + match self { + Self::ExceptHandler(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::PythonArguments { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::Arg { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::Keyword { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::Alias { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::WithItem { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::MatchCase { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchValue { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchSingleton { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchSequence { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchMapping { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchClass { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchStar { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchAs { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::PatternMatchOr { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::Pattern { + fn range(&self) -> TextRange { + match self { + Self::MatchValue(node) => node.range(), + Self::MatchSingleton(node) => node.range(), + Self::MatchSequence(node) => node.range(), + Self::MatchMapping(node) => node.range(), + Self::MatchClass(node) => node.range(), + Self::MatchStar(node) => node.range(), + Self::MatchAs(node) => node.range(), + Self::MatchOr(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::TypeIgnoreTypeIgnore { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::TypeIgnore { + fn range(&self) -> TextRange { + match self { + Self::TypeIgnore(node) => node.range(), + } + } +} + +impl Ranged for crate::generic::Decorator { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::Arguments { + fn range(&self) -> TextRange { + self.range + } +} +impl Ranged for crate::generic::ArgWithDefault { + fn range(&self) -> TextRange { + self.range + } +} diff --git a/ast/src/source_locator.rs b/ast/src/source_locator.rs deleted file mode 100644 index 366c32bb..00000000 --- a/ast/src/source_locator.rs +++ /dev/null @@ -1,288 +0,0 @@ -use crate::Fold; -use rustpython_parser_core::{ - source_code::{LinearLocator, RandomLocator, SourceLocation, SourceRange}, - text_size::TextRange, -}; -use std::{convert::Infallible, unreachable}; - -impl crate::fold::Fold for RandomLocator<'_> { - type TargetU = SourceRange; - type Error = std::convert::Infallible; - type UserContext = SourceLocation; - - fn will_map_user(&mut self, user: &TextRange) -> Self::UserContext { - self.locate(user.start()) - } - - fn map_user( - &mut self, - user: TextRange, - start: Self::UserContext, - ) -> Result { - let end = self.locate(user.end()); - Ok((start..end).into()) - } -} - -fn linear_locate_expr_joined_str( - locator: &mut LinearLocator<'_>, - node: crate::ExprJoinedStr, - location: SourceRange, -) -> Result, Infallible> { - let crate::ExprJoinedStr { range: _, values } = node; - - let mut located_values = Vec::with_capacity(values.len()); - for value in values.into_iter() { - let located = match value { - crate::Expr::Constant(constant) => { - let node = crate::ExprConstant { - range: location, - value: constant.value, - kind: constant.kind, - }; - crate::Expr::Constant(node) - } - crate::Expr::FormattedValue(formatted) => { - let node = crate::ExprFormattedValue { - range: location, - value: locator.fold(formatted.value)?, - conversion: formatted.conversion, - format_spec: formatted - .format_spec - .map(|spec| match *spec { - crate::Expr::JoinedStr(joined_str) => { - let node = - linear_locate_expr_joined_str(locator, joined_str, location)?; - Ok(crate::Expr::JoinedStr(node)) - } - expr => locator.fold(expr), - }) - .transpose()? - .map(Box::new), - }; - crate::Expr::FormattedValue(node) - } - _ => unreachable!("missing expr type for joined_str?"), - }; - located_values.push(located); - } - - Ok(crate::ExprJoinedStr { - range: location, - values: located_values, - }) -} - -impl crate::fold::Fold for LinearLocator<'_> { - type TargetU = SourceRange; - type Error = std::convert::Infallible; - type UserContext = SourceLocation; - - fn will_map_user(&mut self, user: &TextRange) -> Self::UserContext { - self.locate(user.start()) - } - - fn map_user( - &mut self, - user: TextRange, - start: Self::UserContext, - ) -> Result { - let end = self.locate(user.end()); - Ok((start..end).into()) - } - - fn fold_expr_dict( - &mut self, - node: crate::ExprDict, - ) -> Result, Self::Error> { - let crate::ExprDict { - range, - keys, - values, - } = node; - let context = self.will_map_user(&range); - assert_eq!(keys.len(), values.len()); - let mut located_keys = Vec::with_capacity(keys.len()); - let mut located_values = Vec::with_capacity(values.len()); - for (key, value) in keys.into_iter().zip(values.into_iter()) { - located_keys.push(self.fold(key)?); - located_values.push(self.fold(value)?); - } - let range = self.map_user(range, context)?; - Ok(crate::ExprDict { - range, - keys: located_keys, - values: located_values, - }) - } - - fn fold_expr_if_exp( - &mut self, - node: crate::ExprIfExp, - ) -> Result, Self::Error> { - let crate::ExprIfExp { - range, - test, - body, - orelse, - } = node; - let context = self.will_map_user(&range); - let body = self.fold(body)?; - let test = self.fold(test)?; - let orelse = self.fold(orelse)?; - let range = self.map_user(range, context)?; - Ok(crate::ExprIfExp { - range, - test, - body, - orelse, - }) - } - - fn fold_stmt_class_def( - &mut self, - node: crate::StmtClassDef, - ) -> Result, Self::Error> { - let crate::StmtClassDef { - name, - bases, - keywords, - body, - decorator_list, - range, - } = node; - let decorator_list = self.fold(decorator_list)?; - let context = self.will_map_user(&range); - - let name = self.fold(name)?; - let bases = self.fold(bases)?; - let keywords = self.fold(keywords)?; - let body = self.fold(body)?; - let range = self.map_user(range, context)?; - Ok(crate::StmtClassDef { - name, - bases, - keywords, - body, - decorator_list, - range, - }) - } - fn fold_stmt_function_def( - &mut self, - node: crate::StmtFunctionDef, - ) -> Result, Self::Error> { - let crate::StmtFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - } = node; - let decorator_list = self.fold(decorator_list)?; - let context = self.will_map_user(&range); - - let name = self.fold(name)?; - let args: Box> = self.fold(args)?; - let returns = self.fold(returns)?; - let body = self.fold(body)?; - let type_comment = self.fold(type_comment)?; - let range = self.map_user(range, context)?; - Ok(crate::StmtFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - }) - } - fn fold_stmt_async_function_def( - &mut self, - node: crate::StmtAsyncFunctionDef, - ) -> Result, Self::Error> { - let crate::StmtAsyncFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - } = node; - let decorator_list = self.fold(decorator_list)?; - let context = self.will_map_user(&range); - - let name = self.fold(name)?; - let args: Box> = self.fold(args)?; - let returns = self.fold(returns)?; - let body = self.fold(body)?; - let type_comment = self.fold(type_comment)?; - let range = self.map_user(range, context)?; - Ok(crate::StmtAsyncFunctionDef { - name, - args, - body, - decorator_list, - returns, - type_comment, - range, - }) - } - fn fold_expr_joined_str( - &mut self, - node: crate::ExprJoinedStr, - ) -> Result, Self::Error> { - let start = self.locate(node.range.start()); - let end = self.locate_only(node.range.end()); - let location = SourceRange::new(start, end); - linear_locate_expr_joined_str(self, node, location) - } - - fn fold_expr_call( - &mut self, - node: crate::ExprCall, - ) -> Result, Self::Error> { - let crate::ExprCall { - range, - func, - args, - keywords, - } = node; - let context = self.will_map_user(&range); - let func = self.fold(func)?; - let keywords = LinearLookaheadLocator(self).fold(keywords)?; - let args = self.fold(args)?; - let range = self.map_user(range, context)?; - Ok(crate::ExprCall { - range, - func, - args, - keywords, - }) - } -} - -struct LinearLookaheadLocator<'a, 'b>(&'b mut LinearLocator<'a>); - -impl crate::fold::Fold for LinearLookaheadLocator<'_, '_> { - type TargetU = SourceRange; - type Error = std::convert::Infallible; - type UserContext = SourceLocation; - - fn will_map_user(&mut self, user: &TextRange) -> Self::UserContext { - self.0.locate_only(user.start()) - } - - fn map_user( - &mut self, - user: TextRange, - start: Self::UserContext, - ) -> Result { - let end = self.0.locate_only(user.end()); - Ok((start..end).into()) - } -} diff --git a/ast/src/unparse.rs b/ast/src/unparse.rs deleted file mode 100644 index 95c0ba5b..00000000 --- a/ast/src/unparse.rs +++ /dev/null @@ -1,638 +0,0 @@ -use crate::{ - Arg, ArgWithDefault, Arguments, BoolOp, Comprehension, Constant, ConversionFlag, Expr, - Identifier, Operator, PythonArguments, -}; -use std::fmt; - -mod precedence { - macro_rules! precedence { - ($($op:ident,)*) => { - precedence!(@0, $($op,)*); - }; - (@$i:expr, $op1:ident, $($op:ident,)*) => { - pub const $op1: u8 = $i; - precedence!(@$i + 1, $($op,)*); - }; - (@$i:expr,) => {}; - } - precedence!( - TUPLE, TEST, OR, AND, NOT, CMP, // "EXPR" = - BOR, BXOR, BAND, SHIFT, ARITH, TERM, FACTOR, POWER, AWAIT, ATOM, - ); - pub const EXPR: u8 = BOR; -} - -#[repr(transparent)] -struct Unparser<'a> { - f: fmt::Formatter<'a>, -} -impl<'a> Unparser<'a> { - fn new<'b>(f: &'b mut fmt::Formatter<'a>) -> &'b mut Unparser<'a> { - unsafe { &mut *(f as *mut fmt::Formatter<'a> as *mut Unparser<'a>) } - } - - fn p(&mut self, s: &str) -> fmt::Result { - self.f.write_str(s) - } - fn p_id(&mut self, s: &Identifier) -> fmt::Result { - self.f.write_str(s.as_str()) - } - fn p_if(&mut self, cond: bool, s: &str) -> fmt::Result { - if cond { - self.f.write_str(s)?; - } - Ok(()) - } - fn p_delim(&mut self, first: &mut bool, s: &str) -> fmt::Result { - self.p_if(!std::mem::take(first), s) - } - fn write_fmt(&mut self, f: fmt::Arguments<'_>) -> fmt::Result { - self.f.write_fmt(f) - } - - fn unparse_expr(&mut self, ast: &Expr, level: u8) -> fmt::Result { - macro_rules! op_prec { - ($op_ty:ident, $x:expr, $enu:path, $($var:ident($op:literal, $prec:ident)),*$(,)?) => { - match $x { - $(<$enu>::$var => (op_prec!(@space $op_ty, $op), precedence::$prec),)* - } - }; - (@space bin, $op:literal) => { - concat!(" ", $op, " ") - }; - (@space un, $op:literal) => { - $op - }; - } - macro_rules! group_if { - ($lvl:expr, $body:block) => {{ - let group = level > $lvl; - self.p_if(group, "(")?; - let ret = $body; - self.p_if(group, ")")?; - ret - }}; - } - match &ast { - Expr::BoolOp(crate::ExprBoolOp { - op, - values, - range: _range, - }) => { - let (op, prec) = op_prec!(bin, op, BoolOp, And("and", AND), Or("or", OR)); - group_if!(prec, { - let mut first = true; - for val in values { - self.p_delim(&mut first, op)?; - self.unparse_expr(val, prec + 1)?; - } - }) - } - Expr::NamedExpr(crate::ExprNamedExpr { - target, - value, - range: _range, - }) => { - group_if!(precedence::TUPLE, { - self.unparse_expr(target, precedence::ATOM)?; - self.p(" := ")?; - self.unparse_expr(value, precedence::ATOM)?; - }) - } - Expr::BinOp(crate::ExprBinOp { - left, - op, - right, - range: _range, - }) => { - let right_associative = matches!(op, Operator::Pow); - let (op, prec) = op_prec!( - bin, - op, - Operator, - Add("+", ARITH), - Sub("-", ARITH), - Mult("*", TERM), - MatMult("@", TERM), - Div("/", TERM), - Mod("%", TERM), - Pow("**", POWER), - LShift("<<", SHIFT), - RShift(">>", SHIFT), - BitOr("|", BOR), - BitXor("^", BXOR), - BitAnd("&", BAND), - FloorDiv("//", TERM), - ); - group_if!(prec, { - self.unparse_expr(left, prec + right_associative as u8)?; - self.p(op)?; - self.unparse_expr(right, prec + !right_associative as u8)?; - }) - } - Expr::UnaryOp(crate::ExprUnaryOp { - op, - operand, - range: _range, - }) => { - let (op, prec) = op_prec!( - un, - op, - crate::UnaryOp, - Invert("~", FACTOR), - Not("not ", NOT), - UAdd("+", FACTOR), - USub("-", FACTOR) - ); - group_if!(prec, { - self.p(op)?; - self.unparse_expr(operand, prec)?; - }) - } - Expr::Lambda(crate::ExprLambda { - args, - body, - range: _range, - }) => { - group_if!(precedence::TEST, { - let pos = args.args.len() + args.posonlyargs.len(); - self.p(if pos > 0 { "lambda " } else { "lambda" })?; - self.unparse_arguments(args)?; - write!(self, ": {}", **body)?; - }) - } - Expr::IfExp(crate::ExprIfExp { - test, - body, - orelse, - range: _range, - }) => { - group_if!(precedence::TEST, { - self.unparse_expr(body, precedence::TEST + 1)?; - self.p(" if ")?; - self.unparse_expr(test, precedence::TEST + 1)?; - self.p(" else ")?; - self.unparse_expr(orelse, precedence::TEST)?; - }) - } - Expr::Dict(crate::ExprDict { - keys, - values, - range: _range, - }) => { - self.p("{")?; - let mut first = true; - let (packed, unpacked) = values.split_at(keys.len()); - for (k, v) in keys.iter().zip(packed) { - self.p_delim(&mut first, ", ")?; - if let Some(k) = k { - write!(self, "{}: {}", *k, *v)?; - } else { - write!(self, "**{}", *v)?; - } - } - for d in unpacked { - self.p_delim(&mut first, ", ")?; - write!(self, "**{}", *d)?; - } - self.p("}")?; - } - Expr::Set(crate::ExprSet { - elts, - range: _range, - }) => { - self.p("{")?; - let mut first = true; - for v in elts { - self.p_delim(&mut first, ", ")?; - self.unparse_expr(v, precedence::TEST)?; - } - self.p("}")?; - } - Expr::ListComp(crate::ExprListComp { - elt, - generators, - range: _range, - }) => { - self.p("[")?; - self.unparse_expr(elt, precedence::TEST)?; - self.unparse_comp(generators)?; - self.p("]")?; - } - Expr::SetComp(crate::ExprSetComp { - elt, - generators, - range: _range, - }) => { - self.p("{")?; - self.unparse_expr(elt, precedence::TEST)?; - self.unparse_comp(generators)?; - self.p("}")?; - } - Expr::DictComp(crate::ExprDictComp { - key, - value, - generators, - range: _range, - }) => { - self.p("{")?; - self.unparse_expr(key, precedence::TEST)?; - self.p(": ")?; - self.unparse_expr(value, precedence::TEST)?; - self.unparse_comp(generators)?; - self.p("}")?; - } - Expr::GeneratorExp(crate::ExprGeneratorExp { - elt, - generators, - range: _range, - }) => { - self.p("(")?; - self.unparse_expr(elt, precedence::TEST)?; - self.unparse_comp(generators)?; - self.p(")")?; - } - Expr::Await(crate::ExprAwait { - value, - range: _range, - }) => { - group_if!(precedence::AWAIT, { - self.p("await ")?; - self.unparse_expr(value, precedence::ATOM)?; - }) - } - Expr::Yield(crate::ExprYield { - value, - range: _range, - }) => { - if let Some(value) = value { - write!(self, "(yield {})", **value)?; - } else { - self.p("(yield)")?; - } - } - Expr::YieldFrom(crate::ExprYieldFrom { - value, - range: _range, - }) => { - write!(self, "(yield from {})", **value)?; - } - Expr::Compare(crate::ExprCompare { - left, - ops, - comparators, - range: _range, - }) => { - group_if!(precedence::CMP, { - let new_lvl = precedence::CMP + 1; - self.unparse_expr(left, new_lvl)?; - for (op, cmp) in ops.iter().zip(comparators) { - self.p(" ")?; - self.p(op.as_str())?; - self.p(" ")?; - self.unparse_expr(cmp, new_lvl)?; - } - }) - } - Expr::Call(crate::ExprCall { - func, - args, - keywords, - range: _range, - }) => { - self.unparse_expr(func, precedence::ATOM)?; - self.p("(")?; - if let ( - [Expr::GeneratorExp(crate::ExprGeneratorExp { - elt, - generators, - range: _range, - })], - [], - ) = (&**args, &**keywords) - { - // make sure a single genexpr doesn't get double parens - self.unparse_expr(elt, precedence::TEST)?; - self.unparse_comp(generators)?; - } else { - let mut first = true; - for arg in args { - self.p_delim(&mut first, ", ")?; - self.unparse_expr(arg, precedence::TEST)?; - } - for kw in keywords { - self.p_delim(&mut first, ", ")?; - if let Some(arg) = &kw.arg { - self.p_id(arg)?; - self.p("=")?; - } else { - self.p("**")?; - } - self.unparse_expr(&kw.value, precedence::TEST)?; - } - } - self.p(")")?; - } - Expr::FormattedValue(crate::ExprFormattedValue { - value, - conversion, - format_spec, - range: _range, - }) => self.unparse_formatted(value, *conversion, format_spec.as_deref())?, - Expr::JoinedStr(crate::ExprJoinedStr { - values, - range: _range, - }) => self.unparse_joined_str(values, false)?, - Expr::Constant(crate::ExprConstant { - value, - kind, - range: _range, - }) => { - if let Some(kind) = kind { - self.p(kind)?; - } - assert_eq!(f64::MAX_10_EXP, 308); - let inf_str = "1e309"; - match value { - Constant::Float(f) if f.is_infinite() => self.p(inf_str)?, - Constant::Complex { real, imag } - if real.is_infinite() || imag.is_infinite() => - { - self.p(&value.to_string().replace("inf", inf_str))? - } - _ => fmt::Display::fmt(value, &mut self.f)?, - } - } - Expr::Attribute(crate::ExprAttribute { value, attr, .. }) => { - self.unparse_expr(value, precedence::ATOM)?; - let period = if let Expr::Constant(crate::ExprConstant { - value: Constant::Int(_), - .. - }) = value.as_ref() - { - " ." - } else { - "." - }; - self.p(period)?; - self.p_id(attr)?; - } - Expr::Subscript(crate::ExprSubscript { value, slice, .. }) => { - self.unparse_expr(value, precedence::ATOM)?; - let mut lvl = precedence::TUPLE; - if let Expr::Tuple(crate::ExprTuple { elts, .. }) = slice.as_ref() { - if elts.iter().any(|expr| expr.is_starred_expr()) { - lvl += 1 - } - } - self.p("[")?; - self.unparse_expr(slice, lvl)?; - self.p("]")?; - } - Expr::Starred(crate::ExprStarred { value, .. }) => { - self.p("*")?; - self.unparse_expr(value, precedence::EXPR)?; - } - Expr::Name(crate::ExprName { id, .. }) => self.p_id(id)?, - Expr::List(crate::ExprList { elts, .. }) => { - self.p("[")?; - let mut first = true; - for elt in elts { - self.p_delim(&mut first, ", ")?; - self.unparse_expr(elt, precedence::TEST)?; - } - self.p("]")?; - } - Expr::Tuple(crate::ExprTuple { elts, .. }) => { - if elts.is_empty() { - self.p("()")?; - } else { - group_if!(precedence::TUPLE, { - let mut first = true; - for elt in elts { - self.p_delim(&mut first, ", ")?; - self.unparse_expr(elt, precedence::TEST)?; - } - self.p_if(elts.len() == 1, ",")?; - }) - } - } - Expr::Slice(crate::ExprSlice { - lower, - upper, - step, - range: _range, - }) => { - if let Some(lower) = lower { - self.unparse_expr(lower, precedence::TEST)?; - } - self.p(":")?; - if let Some(upper) = upper { - self.unparse_expr(upper, precedence::TEST)?; - } - if let Some(step) = step { - self.p(":")?; - self.unparse_expr(step, precedence::TEST)?; - } - } - } - Ok(()) - } - - fn unparse_arguments(&mut self, args: &Arguments) -> fmt::Result { - let mut first = true; - for (i, arg) in args.posonlyargs.iter().chain(&args.args).enumerate() { - self.p_delim(&mut first, ", ")?; - self.unparse_function_arg(arg)?; - self.p_if(i + 1 == args.posonlyargs.len(), ", /")?; - } - if args.vararg.is_some() || !args.kwonlyargs.is_empty() { - self.p_delim(&mut first, ", ")?; - self.p("*")?; - } - if let Some(vararg) = &args.vararg { - self.unparse_arg(vararg)?; - } - for kwarg in args.kwonlyargs.iter() { - self.p_delim(&mut first, ", ")?; - self.unparse_function_arg(kwarg)?; - } - if let Some(kwarg) = &args.kwarg { - self.p_delim(&mut first, ", ")?; - self.p("**")?; - self.unparse_arg(kwarg)?; - } - Ok(()) - } - fn unparse_function_arg(&mut self, arg: &ArgWithDefault) -> fmt::Result { - self.p_id(&arg.def.arg)?; - if let Some(ann) = &arg.def.annotation { - write!(self, ": {}", **ann)?; - } - if let Some(default) = &arg.default { - write!(self, "={}", default)?; - } - Ok(()) - } - - #[allow(dead_code)] - fn unparse_python_arguments(&mut self, args: &PythonArguments) -> fmt::Result { - let mut first = true; - let defaults_start = args.posonlyargs.len() + args.args.len() - args.defaults.len(); - for (i, arg) in args.posonlyargs.iter().chain(&args.args).enumerate() { - self.p_delim(&mut first, ", ")?; - self.unparse_arg(arg)?; - if let Some(i) = i.checked_sub(defaults_start) { - write!(self, "={}", &args.defaults[i])?; - } - self.p_if(i + 1 == args.posonlyargs.len(), ", /")?; - } - if args.vararg.is_some() || !args.kwonlyargs.is_empty() { - self.p_delim(&mut first, ", ")?; - self.p("*")?; - } - if let Some(vararg) = &args.vararg { - self.unparse_arg(vararg)?; - } - let defaults_start = args.kwonlyargs.len() - args.kw_defaults.len(); - for (i, kwarg) in args.kwonlyargs.iter().enumerate() { - self.p_delim(&mut first, ", ")?; - self.unparse_arg(kwarg)?; - if let Some(default) = i - .checked_sub(defaults_start) - .and_then(|i| args.kw_defaults.get(i)) - { - write!(self, "={default}")?; - } - } - if let Some(kwarg) = &args.kwarg { - self.p_delim(&mut first, ", ")?; - self.p("**")?; - self.unparse_arg(kwarg)?; - } - Ok(()) - } - fn unparse_arg(&mut self, arg: &Arg) -> fmt::Result { - self.p_id(&arg.arg)?; - if let Some(ann) = &arg.annotation { - write!(self, ": {}", **ann)?; - } - Ok(()) - } - - fn unparse_comp(&mut self, generators: &[Comprehension]) -> fmt::Result { - for comp in generators { - self.p(if comp.is_async { - " async for " - } else { - " for " - })?; - self.unparse_expr(&comp.target, precedence::TUPLE)?; - self.p(" in ")?; - self.unparse_expr(&comp.iter, precedence::TEST + 1)?; - for cond in &comp.ifs { - self.p(" if ")?; - self.unparse_expr(cond, precedence::TEST + 1)?; - } - } - Ok(()) - } - - fn unparse_fstring_body(&mut self, values: &[Expr], is_spec: bool) -> fmt::Result { - for value in values { - self.unparse_fstring_elem(value, is_spec)?; - } - Ok(()) - } - - fn unparse_formatted( - &mut self, - val: &Expr, - conversion: ConversionFlag, - spec: Option<&Expr>, - ) -> fmt::Result { - let buffered = to_string_fmt(|f| Unparser::new(f).unparse_expr(val, precedence::TEST + 1)); - let brace = if buffered.starts_with('{') { - // put a space to avoid escaping the bracket - "{ " - } else { - "{" - }; - self.p(brace)?; - self.p(&buffered)?; - drop(buffered); - - if conversion != ConversionFlag::None { - self.p("!")?; - let buf = &[conversion as u8]; - let c = std::str::from_utf8(buf).unwrap(); - self.p(c)?; - } - - if let Some(spec) = spec { - self.p(":")?; - self.unparse_fstring_elem(spec, true)?; - } - - self.p("}")?; - - Ok(()) - } - - fn unparse_fstring_elem(&mut self, expr: &Expr, is_spec: bool) -> fmt::Result { - match &expr { - Expr::Constant(crate::ExprConstant { value, .. }) => { - if let Constant::Str(s) = value { - self.unparse_fstring_str(s) - } else { - unreachable!() - } - } - Expr::JoinedStr(crate::ExprJoinedStr { - values, - range: _range, - }) => self.unparse_joined_str(values, is_spec), - Expr::FormattedValue(crate::ExprFormattedValue { - value, - conversion, - format_spec, - range: _range, - }) => self.unparse_formatted(value, *conversion, format_spec.as_deref()), - _ => unreachable!(), - } - } - - fn unparse_fstring_str(&mut self, s: &str) -> fmt::Result { - let s = s.replace('{', "{{").replace('}', "}}"); - self.p(&s) - } - - fn unparse_joined_str(&mut self, values: &[Expr], is_spec: bool) -> fmt::Result { - if is_spec { - self.unparse_fstring_body(values, is_spec) - } else { - self.p("f")?; - let body = to_string_fmt(|f| Unparser::new(f).unparse_fstring_body(values, is_spec)); - rustpython_literal::escape::UnicodeEscape::new_repr(&body) - .str_repr() - .write(&mut self.f) - } - } -} - -impl fmt::Display for Expr { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - Unparser::new(f).unparse_expr(self, precedence::TEST) - } -} - -fn to_string_fmt(f: impl FnOnce(&mut fmt::Formatter) -> fmt::Result) -> String { - use std::cell::Cell; - struct Fmt(Cell>); - impl fmt::Result> fmt::Display for Fmt { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - self.0.take().unwrap()(f) - } - } - Fmt(Cell::new(Some(f))).to_string() -} diff --git a/core/Cargo.toml b/core/Cargo.toml index 867a146a..82e1cae5 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -10,7 +10,6 @@ license = "MIT" [dependencies] # ruff dependency shouldn't be placed out of this crate ruff_text_size = { path = "../ruff_text_size" } -ruff_source_location = { path = "../ruff_source_location", optional = true } serde = { version = "1.0.133", optional = true, default-features = false, features = ["derive"] } is-macro.workspace = true @@ -18,4 +17,3 @@ memchr.workspace = true [features] default = [] -location = ["dep:ruff_source_location"] diff --git a/core/src/lib.rs b/core/src/lib.rs index 06b2d3bf..47dc115c 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -4,8 +4,6 @@ mod error; mod format; pub mod mode; -#[cfg(feature = "location")] -pub mod source_code; pub use error::BaseError; pub use format::ConversionFlag; diff --git a/core/src/source_code.rs b/core/src/source_code.rs deleted file mode 100644 index b45f2006..00000000 --- a/core/src/source_code.rs +++ /dev/null @@ -1,347 +0,0 @@ -// re-export our public interface -use crate::text_size::{TextLen, TextSize}; -use memchr::memrchr2; - -pub use ruff_source_location::{ - newlines::{find_newline, UniversalNewlineIterator}, - LineIndex, OneIndexed, SourceCode, SourceLocation, -}; -pub type LineNumber = OneIndexed; - -#[derive(Debug, Copy, Clone, Default)] -pub struct SourceRange { - pub start: SourceLocation, - pub end: Option, -} - -impl SourceRange { - pub fn new(start: SourceLocation, end: SourceLocation) -> Self { - Self { - start, - end: Some(end), - } - } - pub fn unwrap_end(&self) -> SourceLocation { - self.end.unwrap() - } -} - -impl From> for SourceRange { - fn from(value: std::ops::Range) -> Self { - Self { - start: value.start, - end: Some(value.end), - } - } -} - -/// Converts source code byte-offset to Python convention line and column numbers. -pub struct RandomLocator<'a> { - pub source: &'a str, - index: LineIndex, -} - -impl<'a> RandomLocator<'a> { - #[inline] - pub fn new(source: &'a str) -> Self { - let index = LineIndex::from_source_text(source); - Self { source, index } - } - - pub fn to_source_code(&self) -> SourceCode { - SourceCode::new(self.source, &self.index) - } - - pub fn locate(&mut self, offset: crate::text_size::TextSize) -> SourceLocation { - let offset = offset.to_u32().into(); - self.to_source_code().source_location(offset) - } - - pub fn locate_error(&mut self, base: crate::error::BaseError) -> LocatedError - where - T: Into, - { - let location = self.locate(base.offset); - LocatedError { - error: base.error.into(), - location: Some(location), - source_path: base.source_path, - } - } -} - -/// Converts source code byte-offset to Python convention line and column numbers. -pub struct LinearLocator<'a> { - pub source: &'a str, - state: LinearLocatorState, - #[cfg(debug_assertions)] - index: LineIndex, -} - -struct LinearLocatorState { - line_start: TextSize, - line_end: Option, - line_number: OneIndexed, - cursor: TextSize, - is_ascii: bool, -} - -impl LinearLocatorState { - fn init(source: &str) -> Self { - let mut line_start = TextSize::default(); - if source.starts_with('\u{feff}') { - line_start += '\u{feff}'.text_len(); - } - let (line_end, is_ascii) = if let Some((position, line_ending)) = find_newline(source) { - let is_ascii = source[..position].is_ascii(); - ( - Some(TextSize::new(position as u32 + line_ending.len() as u32)), - is_ascii, - ) - } else { - (None, source.is_ascii()) - }; - let line_number = OneIndexed::MIN; - Self { - line_start, - line_end, - line_number, - cursor: line_start, - is_ascii, - } - } - - fn new_line_start(&self, next_offset: TextSize) -> Option { - if let Some(new_line_start) = self.line_end { - if new_line_start <= next_offset { - return Some(new_line_start); - } - } - None - } -} - -impl<'a> LinearLocator<'a> { - // nl = newline - - #[inline] - pub fn new(source: &'a str) -> Self { - let state = LinearLocatorState::init(source); - Self { - source, - state, - #[cfg(debug_assertions)] - index: LineIndex::from_source_text(source), - } - } - - pub fn locate(&mut self, offset: crate::text_size::TextSize) -> SourceLocation { - debug_assert!( - self.state.cursor <= offset, - "{:?} -> {:?} {}", - self.state.cursor, - offset, - &self.source[offset.to_usize()..self.state.cursor.to_usize()] - ); - let (column, new_state) = self.locate_inner(offset); - if let Some(state) = new_state { - self.state = state; - } else { - self.state.cursor = offset; - } - SourceLocation { - row: self.state.line_number, - column, - } - } - - pub fn locate_only(&mut self, offset: crate::text_size::TextSize) -> SourceLocation { - let (column, new_state) = self.locate_inner(offset); - let state = new_state.as_ref().unwrap_or(&self.state); - SourceLocation { - row: state.line_number, - column, - } - } - - fn locate_inner( - &mut self, - offset: crate::text_size::TextSize, - ) -> (OneIndexed, Option) { - let (column, new_state) = if let Some(new_line_start) = self.state.new_line_start(offset) { - // not fit in current line - let focused = &self.source[new_line_start.to_usize()..offset.to_usize()]; - let (lines, line_start, column) = - if let Some(last_newline) = memrchr2(b'\r', b'\n', focused.as_bytes()) { - let last_newline = new_line_start.to_usize() + last_newline; - let lines = UniversalNewlineIterator::from( - &self.source[self.state.cursor.to_usize()..last_newline + 1], - ) - .count(); - let line_start = last_newline as u32 + 1; - let column = offset.to_u32() - line_start; - (lines as u32, line_start, column) - } else { - let column = (offset - new_line_start).to_u32(); - (1, new_line_start.to_u32(), column) - }; - let line_number = self.state.line_number.saturating_add(lines); - let (line_end, is_ascii) = if let Some((newline, line_ending)) = - find_newline(&self.source[line_start as usize..]) - { - let newline = line_start as usize + newline; - let is_ascii = self.source[line_start as usize..newline].is_ascii(); - ( - Some(TextSize::new(newline as u32 + line_ending.len() as u32)), - is_ascii, - ) - } else { - let is_ascii = self.source[line_start as usize..].is_ascii(); - (None, is_ascii) - }; - let line_start = TextSize::new(line_start); - let state = LinearLocatorState { - line_start, - line_end, - line_number, - cursor: offset, - is_ascii, - }; - (column, Some(state)) - } else { - let column = (offset - self.state.line_start).to_u32(); - (column, None) - }; - let state = new_state.as_ref().unwrap_or(&self.state); - let column = if state.is_ascii { - column - } else { - self.source[state.line_start.to_usize()..][..column as usize] - .chars() - .count() as u32 - }; - let column = OneIndexed::from_zero_indexed(column); - #[cfg(debug_assertions)] - { - let location = SourceLocation { - row: state.line_number, - column, - }; - let source_code = SourceCode::new(self.source, &self.index); - assert_eq!( - location, - source_code.source_location(offset), - "input: {} -> {} {}", - self.state.cursor.to_usize(), - offset.to_usize(), - &self.source[self.state.cursor.to_usize()..offset.to_usize()] - ); - } - (column, new_state) - } - - pub fn locate_error(&mut self, base: crate::error::BaseError) -> LocatedError - where - T: Into, - { - let location = self.locate(base.offset); - LocatedError { - error: base.error.into(), - location: Some(location), - source_path: base.source_path, - } - } -} - -#[derive(Debug, PartialEq, Eq)] -pub struct LocatedError { - pub error: T, - pub location: Option, - pub source_path: String, -} - -impl LocatedError { - pub fn error(self) -> T { - self.error - } - - pub fn from(obj: LocatedError) -> Self - where - U: Into, - { - Self { - error: obj.error.into(), - location: obj.location, - source_path: obj.source_path, - } - } - - pub fn into(self) -> LocatedError - where - T: Into, - { - LocatedError::from(self) - } - - pub fn python_location(&self) -> (usize, usize) { - if let Some(location) = self.location { - (location.row.to_usize(), location.column.to_usize()) - } else { - (0, 0) - } - } -} - -impl std::fmt::Display for LocatedError -where - T: std::fmt::Display, -{ - fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - let (row, column) = self - .location - .map_or((0, 0), |l| (l.row.to_usize(), l.column.to_usize())); - write!(f, "{} at row {} col {}", &self.error, row, column,) - } -} - -impl std::error::Error for LocatedError -where - T: std::error::Error + 'static, -{ - fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { - Some(&self.error) - } -} - -#[test] -fn test_linear_locator() { - let source = r#" -123456789 -abcdefghi - -유니코드 - "# - .strip_prefix(char::is_whitespace) - .unwrap(); - let mut locator = LinearLocator::new(source); - let mut random_locator = RandomLocator::new(source); - - let mut test = |(row, col), offset| { - let input = TextSize::from(offset); - let expected: SourceLocation = SourceLocation { - row: OneIndexed::new(row).unwrap(), - column: OneIndexed::new(col).unwrap(), - }; - let actual = locator.locate(input); - let actual2 = random_locator.locate(input); - assert_eq!(expected, actual); - assert_eq!(expected, actual2); - }; - - test((1, 1), 0); - test((1, 6), 5); - test((1, 9), 8); - test((2, 1), 10); - test((4, 1), 21); - test((4, 3), 27); -} diff --git a/format/Cargo.toml b/format/Cargo.toml index 7a9db255..b11b25db 100644 --- a/format/Cargo.toml +++ b/format/Cargo.toml @@ -12,5 +12,9 @@ rustpython-literal = { workspace = true } bitflags = "2.3.1" itertools = "0.10.5" -malachite-bigint = { workspace = true } num-traits = { workspace = true } +num-bigint = { workspace = true, optional = true } +malachite-bigint = { workspace = true, optional = true } + +[features] +default = ["malachite-bigint"] \ No newline at end of file diff --git a/format/src/cformat.rs b/format/src/cformat.rs index a207857e..d835fda0 100644 --- a/format/src/cformat.rs +++ b/format/src/cformat.rs @@ -1,7 +1,6 @@ //! Implementation of Printf-Style string formatting //! as per the [Python Docs](https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting). use bitflags::bitflags; -use malachite_bigint::{BigInt, Sign}; use num_traits::Signed; use rustpython_literal::{float, format::Case}; use std::{ @@ -10,6 +9,8 @@ use std::{ str::FromStr, }; +use crate::bigint::{BigInt, Sign}; + #[derive(Debug, PartialEq)] pub enum CFormatErrorType { UnmatchedKeyParentheses, diff --git a/format/src/format.rs b/format/src/format.rs index 09cc3d1a..6bc5796e 100644 --- a/format/src/format.rs +++ b/format/src/format.rs @@ -1,12 +1,13 @@ use itertools::{Itertools, PeekingNext}; -use malachite_bigint::{BigInt, Sign}; -use num_traits::FromPrimitive; -use num_traits::{cast::ToPrimitive, Signed}; + +use num_traits::{cast::ToPrimitive, FromPrimitive, Signed}; use rustpython_literal::float; use rustpython_literal::format::Case; use std::ops::Deref; use std::{cmp, str::FromStr}; +use crate::bigint::{BigInt, Sign}; + trait FormatParse { fn parse(text: &str) -> (Option, &str) where diff --git a/format/src/lib.rs b/format/src/lib.rs index 3c5d8695..61de9d55 100644 --- a/format/src/lib.rs +++ b/format/src/lib.rs @@ -1,4 +1,9 @@ -pub mod cformat; -mod format; +#[cfg(feature = "malachite-bigint")] +pub use malachite_bigint as bigint; +#[cfg(all(feature = "num-bigint", not(feature = "malachite-bigint")))] +pub use num_bigint as bigint; pub use crate::format::*; + +pub mod cformat; +mod format; diff --git a/parser/Cargo.toml b/parser/Cargo.toml index 863a28a5..b6c20ff8 100644 --- a/parser/Cargo.toml +++ b/parser/Cargo.toml @@ -9,10 +9,8 @@ license = "MIT" edition = "2021" [features] -default = ["location", "malachite-bigint"] -location = ["rustpython-ast/location", "rustpython-parser-core/location"] +default = ["malachite-bigint"] serde = ["dep:serde", "rustpython-parser-core/serde"] -all-nodes-with-ranges = ["rustpython-ast/all-nodes-with-ranges"] full-lexer = [] malachite-bigint = ["dep:malachite-bigint", "rustpython-ast/malachite-bigint"] num-bigint = ["dep:num-bigint", "rustpython-ast/num-bigint"] diff --git a/parser/build.rs b/parser/build.rs index ca242ea7..e205c65f 100644 --- a/parser/build.rs +++ b/parser/build.rs @@ -154,6 +154,7 @@ fn gen_phf(out_dir: &Path) { .entry("raise", "Tok::Raise") .entry("return", "Tok::Return") .entry("try", "Tok::Try") + .entry("type", "Tok::Type") .entry("while", "Tok::While") .entry("with", "Tok::With") .entry("yield", "Tok::Yield") diff --git a/parser/src/context.rs b/parser/src/context.rs index 3ba5fca3..66fea936 100644 --- a/parser/src/context.rs +++ b/parser/src/context.rs @@ -66,7 +66,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_assign_list() { let source = "[x, y] = (1, 2, 3)"; let parse_ast = ast::Suite::parse(source, "").unwrap(); @@ -102,7 +101,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_assign_list_comp() { let source = "x = [y for y in (1, 2, 3)]"; let parse_ast = ast::Suite::parse(source, "").unwrap(); @@ -110,7 +108,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_assign_set_comp() { let source = "x = {y for y in (1, 2, 3)}"; let parse_ast = ast::Suite::parse(source, "").unwrap(); @@ -118,7 +115,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_assign_with() { let source = "with 1 as x: pass"; let parse_ast = ast::Suite::parse(source, "").unwrap(); diff --git a/parser/src/function.rs b/parser/src/function.rs index ec6d53bf..67749ea3 100644 --- a/parser/src/function.rs +++ b/parser/src/function.rs @@ -16,7 +16,14 @@ pub(crate) struct ArgumentList { // Perform validation of function/lambda arguments in a function definition. pub(crate) fn validate_arguments(arguments: &ast::Arguments) -> Result<(), LexicalError> { - let mut all_arg_names = FxHashSet::with_hasher(Default::default()); + let mut all_arg_names = FxHashSet::with_capacity_and_hasher( + arguments.posonlyargs.len() + + arguments.args.len() + + arguments.vararg.is_some() as usize + + arguments.kwonlyargs.len() + + arguments.kwarg.is_some() as usize, + Default::default(), + ); let posonlyargs = arguments.posonlyargs.iter(); let args = arguments.args.iter(); @@ -83,7 +90,7 @@ pub(crate) fn parse_args(func_args: Vec) -> Result { // Check for duplicate keyword arguments in the call. if let Some(keyword_name) = &name { - if keyword_names.contains(keyword_name) { + if !keyword_names.insert(keyword_name.to_string()) { return Err(LexicalError { error: LexicalErrorType::DuplicateKeywordArgumentError( keyword_name.to_string(), @@ -91,14 +98,12 @@ pub(crate) fn parse_args(func_args: Vec) -> Result { $( @@ -149,7 +153,11 @@ mod tests { } } - #[cfg(feature = "all-nodes-with-ranges")] + function_and_lambda! { + test_function_no_args_with_ranges: "def f(): pass", + test_function_pos_args_with_ranges: "def f(a, b, c): pass", + } + function_and_lambda! { test_function_no_args: "def f(): pass", test_function_pos_args: "def f(a, b, c): pass", diff --git a/parser/src/gen/parse.rs b/parser/src/gen/parse.rs index 01856ac2..fafec6a1 100644 --- a/parser/src/gen/parse.rs +++ b/parser/src/gen/parse.rs @@ -1,4 +1,4 @@ -// File automatically generated by ast/asdl_rs.py. +// This file was originally generated from asdl by a python script, but we now edit it manually impl Parse for ast::StmtFunctionDef { fn lex_starts_at( @@ -138,6 +138,29 @@ impl Parse for ast::StmtAssign { } } +impl Parse for ast::StmtTypeAlias { + fn lex_starts_at( + source: &str, + offset: TextSize, + ) -> SoftKeywordTransformer> { + ast::Stmt::lex_starts_at(source, offset) + } + fn parse_tokens( + lxr: impl IntoIterator, + source_path: &str, + ) -> Result { + let node = ast::Stmt::parse_tokens(lxr, source_path)?; + match node { + ast::Stmt::TypeAlias(node) => Ok(node), + node => Err(ParseError { + error: ParseErrorType::InvalidToken, + offset: node.range().start(), + source_path: source_path.to_owned(), + }), + } + } +} + impl Parse for ast::StmtAugAssign { fn lex_starts_at( source: &str, diff --git a/parser/src/lib.rs b/parser/src/lib.rs index 53cec986..5b56e54a 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -113,8 +113,6 @@ #![doc(html_root_url = "https://docs.rs/rustpython-parser/")] pub use rustpython_ast as ast; -#[cfg(feature = "location")] -pub use rustpython_parser_core::source_code; pub use rustpython_parser_core::{text_size, Mode}; mod function; diff --git a/parser/src/parser.rs b/parser/src/parser.rs index ba643437..afabffac 100644 --- a/parser/src/parser.rs +++ b/parser/src/parser.rs @@ -13,7 +13,7 @@ //! [`Mode`]: crate::mode use crate::{ - ast::{self, OptionalRange, Ranged}, + ast::{self, Ranged}, lexer::{self, LexResult, LexicalError, LexicalErrorType}, python, text_size::TextSize, @@ -23,7 +23,7 @@ use crate::{ use itertools::Itertools; use std::iter; -use crate::{lexer::Lexer, soft_keywords::SoftKeywordTransformer, text_size::TextRange}; +use crate::{lexer::Lexer, soft_keywords::SoftKeywordTransformer}; pub(super) use lalrpop_util::ParseError as LalrpopError; /// Parse Python code string to implementor's type. @@ -213,7 +213,10 @@ impl Parse for ast::Identifier { ) -> Result { let expr = ast::Expr::parse_tokens(lxr, source_path)?; match expr { - ast::Expr::Name(name) => Ok(name.id), + ast::Expr::Name(name) => { + let range = name.range(); + Ok(ast::Identifier::new(name.id, range)) + } expr => Err(ParseError { error: ParseErrorType::InvalidToken, offset: expr.range().start(), @@ -548,11 +551,6 @@ impl ParseErrorType { } } -#[inline(always)] -pub(super) fn optional_range(start: TextSize, end: TextSize) -> OptionalRange { - OptionalRange::::new(start, end) -} - include!("gen/parse.rs"); #[cfg(test)] @@ -609,7 +607,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_lambda() { let source = "lambda x, y: x * y"; // lambda(x, y): x * y"; let parse_ast = ast::Suite::parse(source, "").unwrap(); @@ -624,7 +621,6 @@ mod tests { } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_class() { let source = "\ class Foo(A, B): @@ -637,7 +633,63 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] + fn test_parse_class_generic_types() { + let source = "\ +# TypeVar +class Foo[T](): ... + +# TypeVar with bound +class Foo[T: str](): ... + +# TypeVar with tuple bound +class Foo[T: (str, bytes)](): ... + +# Multiple TypeVar +class Foo[T, U](): ... + +# Trailing comma +class Foo[T, U,](): ... + +# TypeVarTuple +class Foo[*Ts](): ... + +# ParamSpec +class Foo[**P](): ... + +# Mixed types +class Foo[X, Y: str, *U, **P](): + pass +"; + insta::assert_debug_snapshot!(ast::Suite::parse(source, "").unwrap()); + } + #[test] + fn test_parse_function_definition() { + let source = "\ +def func(a): + ... + +def func[T](a: T) -> T: + ... + +def func[T: str](a: T) -> T: + ... + +def func[T: (str, bytes)](a: T) -> T: + ... + +def func[*Ts](*a: *Ts): + ... + +def func[**P](*args: P.args, **kwargs: P.kwargs): + ... + +def func[T, U: str, *Ts, **P](): + pass + "; + insta::assert_debug_snapshot!(ast::Suite::parse(source, "").unwrap()); + } + + #[test] fn test_parse_dict_comprehension() { let source = "{x1: x2 for y in z}"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -645,7 +697,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_list_comprehension() { let source = "[x for y in z]"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -653,7 +704,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_double_list_comprehension() { let source = "[x for y, y2 in z for a in b if a < 5 if a > 10]"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -661,7 +711,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_generator_comprehension() { let source = "(x for y in z)"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -669,7 +718,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_named_expression_generator_comprehension() { let source = "(x := y + 1 for y in z)"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -677,7 +725,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_parse_if_else_generator_comprehension() { let source = "(x if y else y for y in z)"; let parse_ast = ast::Expr::parse(source, "").unwrap(); @@ -706,7 +753,6 @@ class Foo(A, B): } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_with_statement() { let source = "\ with 0: pass @@ -776,7 +822,6 @@ array[3:5, *indexes_to_select] } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_generator_expression_argument() { let source = r#"' '.join( sql @@ -836,10 +881,88 @@ except* OSError as e: } #[test] - #[cfg(feature = "all-nodes-with-ranges")] + fn test_parse_type_declaration() { + let source = r#" +type X = int +type X = int | str +type X = int | "ForwardRefY" +type X[T] = T | list[X[T]] # recursive +type X[T] = int +type X[T] = list[T] | set[T] +type X[T, *Ts, **P] = (T, Ts, P) +type X[T: int, *Ts, **P] = (T, Ts, P) +type X[T: (int, str), *Ts, **P] = (T, Ts, P) + +# soft keyword as alias name +type type = int +type match = int +type case = int + +# soft keyword as value +type foo = type +type foo = match +type foo = case + +# multine definitions +type \ + X = int +type X \ + = int +type X = \ + int +type X = ( + int +) +type \ + X[T] = T +type X \ + [T] = T +type X[T] \ + = T +"#; + insta::assert_debug_snapshot!(ast::Suite::parse(source, "").unwrap()); + } + + #[test] + fn test_type_as_identifier() { + let source = r#"\ +type *a + b, c # ((type * a) + b), c +type *(a + b), c # (type * (a + b)), c +type (*a + b, c) # type ((*(a + b)), c) +type -a * b + c # (type - (a * b)) + c +type -(a * b) + c # (type - (a * b)) + c +type (-a) * b + c # (type (-(a * b))) + c +type ().a # (type()).a +type (()).a # (type(())).a +type ((),).a # (type(())).a +type [a].b # (type[a]).b +type [a,].b # (type[(a,)]).b (not (type[a]).b) +type [(a,)].b # (type[(a,)]).b +type()[a: + b] # (type())[a: b] +if type := 1: pass +type = lambda query: query == event +print(type(12)) +type(type) +a = ( + type in C +) +a = ( + type(b) +) +type ( + X = int +) +type = 1 +type = x = 1 +x = type = 1 +"#; + insta::assert_debug_snapshot!(ast::Suite::parse(source, "").unwrap()); + } + + #[test] fn test_match_as_identifier() { - let parse_ast = ast::Suite::parse( - r#" + let source = r#"\ match *a + b, c # ((match * a) + b), c match *(a + b), c # (match * (a + b)), c match (*a + b, c) # match ((*(a + b)), c) @@ -861,15 +984,11 @@ match match: pass match = lambda query: query == event print(match(12)) -"#, - "", - ) - .unwrap(); - insta::assert_debug_snapshot!(parse_ast); +"#; + insta::assert_debug_snapshot!(ast::Suite::parse(source, "").unwrap()); } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_patma() { let source = r#"# Cases sampled from Lib/test/test_patma.py @@ -1041,7 +1160,6 @@ match w := x,: } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_match() { let parse_ast = ast::Suite::parse( r#" @@ -1072,7 +1190,6 @@ match x: } #[test] - #[cfg(feature = "all-nodes-with-ranges")] fn test_variadic_generics() { let parse_ast = ast::Suite::parse( r#" @@ -1100,4 +1217,23 @@ def args_to_tuple(*args: *Ts) -> Tuple[*Ts]: ... let i = ast::Identifier::parse_without_path("test").unwrap(); assert_eq!(i.as_str(), "test"); } + + #[test] + fn decorator_ranges() { + let parse_ast = ast::Suite::parse( + r#" +@my_decorator +def test(): + pass + +@class_decorator +class Abcd: + pass +"# + .trim(), + "", + ) + .unwrap(); + insta::assert_debug_snapshot!(parse_ast); + } } diff --git a/parser/src/python.lalrpop b/parser/src/python.lalrpop index 272cf97e..f1f5e523 100644 --- a/parser/src/python.lalrpop +++ b/parser/src/python.lalrpop @@ -10,7 +10,7 @@ use crate::{ context::set_context, string::parse_strings, token::{self, StringKind}, - text_size::TextSize, parser::optional_range + text_size::TextSize }; grammar; @@ -19,9 +19,9 @@ grammar; // For each public entry point, a full parse table is generated. // By having only a single pub function, we reduce this to one. pub Top: ast::Mod = { - StartModule => ast::ModModule { body, type_ignores: vec![], range: optional_range(start, end) }.into(), - StartInteractive => ast::ModInteractive { body, range: optional_range(start, end) }.into(), - StartExpression ("\n")* => ast::ModExpression { body: Box::new(body), range: optional_range(start, end) }.into() + StartModule => ast::ModModule { body, type_ignores: vec![], range: (start..end).into() }.into(), + StartInteractive => ast::ModInteractive { body, range: (start..end).into() }.into(), + StartExpression ("\n")* => ast::ModExpression { body: Box::new(body), range: (start..end).into() }.into() }; Program: ast::Suite = { @@ -86,6 +86,7 @@ SmallStatement: ast::Stmt = { GlobalStatement, NonlocalStatement, AssertStatement, + TypeAliasStatement, }; PassStatement: ast::Stmt = { @@ -266,7 +267,7 @@ ImportAsNames: Vec = { "(" >> ","? ")" => i, "*" => { // Star import all - vec![ast::Alias { name: ast::Identifier::new("*"), asname: None, range: (location..end_location).into() }] + vec![ast::Alias { name: ast::Identifier::new("*", (location..end_location).into()), asname: None, range: (location..end_location).into() }] }, }; @@ -278,14 +279,14 @@ ImportAsAlias: ast::Alias = { // A name like abc or abc.def.ghi DottedName: ast::Identifier = { - => ast::Identifier::new(n), - => { + => ast::Identifier::new(n, (location..end_location).into()), + => { let mut r = n.to_string(); for x in n2 { r.push('.'); r.push_str(x.1.as_str()); } - ast::Identifier::new(r) + ast::Identifier::new(r, (location..end_location).into()) }, }; @@ -393,7 +394,7 @@ MatchCase: ast::MatchCase = { pattern, guard: guard.map(Box::new), body, - range: optional_range(start, end) + range: (start..end).into() } }, } @@ -563,8 +564,8 @@ CapturePattern: ast::Pattern = { } MatchName: ast::Expr = { - => ast::Expr::Name( - ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() }, + => ast::Expr::Name( + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() }, ), } @@ -952,37 +953,62 @@ WithItems: Vec = { #[inline] WithItemsNoAs: Vec = { >> => { - all.into_iter().map(|context_expr| ast::WithItem { context_expr, optional_vars: None, range: optional_range(location, end_location) }).collect() + all.into_iter().map(|context_expr| ast::WithItem { context_expr, optional_vars: None, range: (location..end_location).into() }).collect() }, } WithItem: ast::WithItem = { - > if Goal != "as" => ast::WithItem { context_expr, optional_vars: None, range: optional_range(location, end_location) }, + > if Goal != "as" => ast::WithItem { context_expr, optional_vars: None, range: (location..end_location).into() }, > "as" > => { let optional_vars = Some(Box::new(set_context(vars, ast::ExprContext::Store))); - ast::WithItem { context_expr, optional_vars, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars, range: (location..end_location).into() } }, }; FuncDef: ast::Stmt = { - "def" " >)?> ":" => { + "def" " >)?> ":" => { let args = Box::new(args); let returns = r.map(|x| Box::new(x)); let end_location = body.last().unwrap().end(); let type_comment = None; if is_async.is_some() { - ast::StmtAsyncFunctionDef { name, args, body, decorator_list, returns, type_comment, range: (location..end_location).into() }.into() + ast::StmtAsyncFunctionDef { name, args, body, decorator_list, returns, type_comment, type_params: type_params.unwrap_or_default(), range: (location..end_location).into() }.into() } else { - ast::StmtFunctionDef { name, args, body, decorator_list, returns, type_comment, range: (location..end_location).into() }.into() + ast::StmtFunctionDef { name, args, body, decorator_list, returns, type_comment, type_params: type_params.unwrap_or_default(), range: (location..end_location).into() }.into() } }, }; +TypeAliasName: ast::Expr = { + => ast::Expr::Name( + ast::ExprName { id: name.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() }, + ), +} + +TypeAliasStatement: ast::Stmt = { + "type" "=" > => { + ast::Stmt::TypeAlias( + ast::StmtTypeAlias { + name: Box::new(name), + value: Box::new(value), + type_params: type_params.unwrap_or_default(), + range: (location..end_location).into() + }, + ) + }, +}; + Parameters: ast::Arguments = { "(" )?> ")" =>? { a.as_ref().map(validate_arguments).transpose()?; + + let range = (location..end_location).into(); let args = a - .unwrap_or_else(|| ast::Arguments::empty(optional_range(location, end_location))); + .map(|mut arguments| { + arguments.range = range; + arguments + }) + .unwrap_or_else(|| ast::Arguments::empty(range)); Ok(args) } @@ -1004,7 +1030,7 @@ ParameterList: ast::Arguments = { kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) }, > >)> ","? =>? { @@ -1022,7 +1048,7 @@ ParameterList: ast::Arguments = { kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) }, > ","? => { @@ -1033,7 +1059,7 @@ ParameterList: ast::Arguments = { kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } }, > ","? => { @@ -1043,7 +1069,7 @@ ParameterList: ast::Arguments = { kwonlyargs: vec![], vararg: None, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } }, }; @@ -1061,8 +1087,9 @@ ParameterDefs: (Vec, Vec) = { ParameterDef: ast::ArgWithDefault = { => i, - "=" > => { + "=" > => { i.default = Some(Box::new(e)); + i.range = (i.range.start()..end_location).into(); i }, }; @@ -1070,7 +1097,7 @@ ParameterDef: ast::ArgWithDefault = { UntypedParameter: ast::ArgWithDefault = { => { let def = ast::Arg { arg, annotation: None, type_comment: None, range: (location..end_location).into() }; - ast::ArgWithDefault { def, default: None, range: optional_range(location, end_location) } + ast::ArgWithDefault { def, default: None, range: (location..end_location).into() } }, }; StarUntypedParameter: ast::Arg = { @@ -1081,7 +1108,7 @@ TypedParameter: ast::ArgWithDefault = { >)?> => { let annotation = a.map(Box::new); let def = ast::Arg { arg, annotation, type_comment: None, range: (location..end_location).into() }; - ast::ArgWithDefault { def, default: None, range: optional_range(location, end_location) } + ast::ArgWithDefault { def, default: None, range: (location..end_location).into() } }, }; @@ -1125,7 +1152,7 @@ KwargParameter: Option> = { }; ClassDef: ast::Stmt = { - "class" ":" => { + "class" ":" => { let (bases, keywords) = match a { Some((_, arg, _)) => (arg.args, arg.keywords), None => (vec![], vec![]), @@ -1138,16 +1165,42 @@ ClassDef: ast::Stmt = { keywords, body, decorator_list, + type_params: type_params.unwrap_or_default(), range: (location..end_location).into() }, ) }, }; + +TypeParamList: Vec = { + "[" > ","? "]" => { + vars + } +}; + +TypeParam: ast::TypeParam = { + >)?> => { + ast::TypeParam::TypeVar( + ast::TypeParamTypeVar { name, bound: bound.map(Box::new), range: (location..end_location).into() } + ) + }, + "*" => { + ast::TypeParam::TypeVarTuple( + ast::TypeParamTypeVarTuple { name, range: (location..end_location).into() } + ) + }, + "**" => { + ast::TypeParam::ParamSpec( + ast::TypeParamParamSpec { name, range: (location..end_location).into() } + ) + } +}; + // Decorators: -Decorator: ast::Expr = { - "@" "\n" => { - p +Decorator: ast::Decorator = { + "@" "\n" => { + ast::Decorator { range: (location..end_location).into(), expression: p } }, }; @@ -1183,7 +1236,7 @@ NamedExpression: ast::Expr = { ast::Expr::NamedExpr( ast::ExprNamedExpr { target: Box::new(ast::Expr::Name( - ast::ExprName { id, ctx: ast::ExprContext::Store, range: (location..end_location).into() }, + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Store, range: (location..end_location).into() }, )), range: (location..value.end()).into(), value: Box::new(value), @@ -1196,7 +1249,7 @@ LambdaDef: ast::Expr = { "lambda" ?> ":" > =>? { p.as_ref().map(validate_arguments).transpose()?; let p = p - .unwrap_or_else(|| ast::Arguments::empty(optional_range(location, end_location))); + .unwrap_or_else(|| ast::Arguments::empty((location..end_location).into())); Ok(ast::Expr::Lambda( ast::ExprLambda { @@ -1399,8 +1452,8 @@ Atom: ast::Expr = { => ast::Expr::Constant( ast::ExprConstant { value, kind: None, range: (location..end_location).into() } ), - => ast::Expr::Name( - ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() } + => ast::Expr::Name( + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() } ), "[" "]" => { let elts = e.unwrap_or_default(); @@ -1560,7 +1613,7 @@ SingleForComprehension: ast::Comprehension = { iter, ifs, is_async, - range: optional_range(location, end_location) + range: (location..end_location).into() } } }; @@ -1635,7 +1688,7 @@ Constant: ast::Constant = { }; Identifier: ast::Identifier = { - => ast::Identifier::new(s) + => ast::Identifier::new(s, (location..end_location).into()) }; // Hook external lexer: @@ -1724,6 +1777,7 @@ extern { "raise" => token::Tok::Raise, "return" => token::Tok::Return, "try" => token::Tok::Try, + "type" => token::Tok::Type, "while" => token::Tok::While, "match" => token::Tok::Match, "case" => token::Tok::Case, diff --git a/parser/src/python.rs b/parser/src/python.rs index a0b29e80..9272c023 100644 --- a/parser/src/python.rs +++ b/parser/src/python.rs @@ -1,5 +1,5 @@ // auto-generated: "lalrpop 0.20.0" -// sha3: c39f9711066c6f94aaf93d62d86b41efb4242ddcdcbe5b9d35e5a77a14ff22d6 +// sha3: 3ee291ec28e61ba013e5d3601a0837b51288e6f70f05e23af3ce17c9020e0b74 use crate::{ ast::{self as ast, Ranged, bigint::BigInt}, lexer::{LexicalError, LexicalErrorType}, @@ -7,7 +7,7 @@ use crate::{ context::set_context, string::parse_strings, token::{self, StringKind}, - text_size::TextSize, parser::optional_range + text_size::TextSize }; #[allow(unused_extern_crates)] extern crate lalrpop_util as __lalrpop_util; @@ -27,7 +27,7 @@ mod __parse__Top { context::set_context, string::parse_strings, token::{self, StringKind}, - text_size::TextSize, parser::optional_range + text_size::TextSize }; #[allow(unused_extern_crates)] extern crate lalrpop_util as __lalrpop_util; @@ -94,2224 +94,2371 @@ mod __parse__Top { Variant52(core::option::Option>), Variant53(ast::CmpOp), Variant54(ast::Constant), - Variant55((Option>, ast::Expr)), - Variant56((ast::Expr, ast::Expr)), - Variant57(Vec<(Option>, ast::Expr)>), - Variant58(core::option::Option>, ast::Expr)>>), - Variant59(ast::Arg), - Variant60(core::option::Option), - Variant61(ast::ExceptHandler), - Variant62(alloc::vec::Vec), - Variant63(core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>), - Variant64(ast::Alias), - Variant65(Vec), - Variant66(ast::Int), - Variant67(alloc::vec::Vec), - Variant68((Option, Option)), - Variant69(ast::MatchCase), - Variant70(alloc::vec::Vec), - Variant71((ast::Identifier, ast::Pattern)), - Variant72((ast::Expr, ast::Pattern)), - Variant73(Vec), - Variant74(Vec<(ast::Identifier, ast::Pattern)>), - Variant75(Vec<(ast::Expr, ast::Pattern)>), - Variant76(Vec), - Variant77((Vec, Vec)), - Variant78(core::option::Option), - Variant79(ast::Comprehension), - Variant80(alloc::vec::Vec), - Variant81(Option), - Variant82(core::option::Option>), - Variant83(Vec), - Variant84(ast::Mod), - Variant85(ast::UnaryOp), + Variant55(ast::Decorator), + Variant56(alloc::vec::Vec), + Variant57((Option>, ast::Expr)), + Variant58((ast::Expr, ast::Expr)), + Variant59(Vec<(Option>, ast::Expr)>), + Variant60(core::option::Option>, ast::Expr)>>), + Variant61(ast::Arg), + Variant62(core::option::Option), + Variant63(ast::ExceptHandler), + Variant64(alloc::vec::Vec), + Variant65(core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>), + Variant66(ast::Alias), + Variant67(Vec), + Variant68(ast::Int), + Variant69(alloc::vec::Vec), + Variant70((Option, Option)), + Variant71(ast::MatchCase), + Variant72(alloc::vec::Vec), + Variant73((ast::Identifier, ast::Pattern)), + Variant74((ast::Expr, ast::Pattern)), + Variant75(Vec), + Variant76(Vec<(ast::Identifier, ast::Pattern)>), + Variant77(Vec<(ast::Expr, ast::Pattern)>), + Variant78(Vec), + Variant79(Vec), + Variant80((Vec, Vec)), + Variant81(core::option::Option), + Variant82(ast::Comprehension), + Variant83(alloc::vec::Vec), + Variant84(Option), + Variant85(core::option::Option>), + Variant86(Vec), + Variant87(ast::Mod), + Variant88(ast::TypeParam), + Variant89(core::option::Option>), + Variant90(ast::UnaryOp), } const __ACTION: &[i16] = &[ // State 0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, // State 1 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 2 - -724, 0, 0, 0, 0, 0, -724, 0, -724, 0, 0, 0, -724, 0, 0, -724, 0, 0, 0, -724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -724, 0, -724, -724, -724, -724, 0, 0, 0, 0, 0, -724, -724, -724, -724, 0, -724, -724, -724, -724, 0, 0, 0, 0, -724, -724, -724, -724, -724, 0, 0, -724, -724, -724, -724, 0, -724, -724, -724, -724, -724, -724, -724, -724, 0, 0, 0, -724, 0, 0, 0, 0, 0, -724, -724, -724, -724, -724, + -738, 0, 0, 0, 0, 0, -738, 0, -738, 0, 0, 0, -738, 0, 0, -738, 0, 0, 0, -738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -738, 0, -738, -738, -738, -738, 0, 0, 0, 0, 0, -738, -738, -738, -738, 0, -738, -738, -738, -738, 0, 0, 0, 0, -738, -738, -738, -738, -738, 0, 0, -738, -738, -738, -738, 0, -738, -738, -738, -738, -738, -738, -738, -738, -738, 0, 0, 0, -738, 0, 0, 0, 0, 0, -738, -738, -738, -738, -738, // State 3 - -724, 0, 0, 0, 0, 0, -724, 0, -724, 0, 0, 0, -724, 0, 0, -724, 0, 0, 0, -724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -724, 0, -724, -724, -724, -724, 0, 0, 0, 0, 0, -724, -724, -724, -724, 0, -724, -724, -724, -724, 0, 0, 0, 0, -724, -724, -724, -724, -724, 0, 0, -724, -724, -724, -724, 0, -724, -724, -724, -724, -724, -724, -724, -724, 0, 0, 0, -724, 0, 0, 0, 0, 0, -724, -724, -724, -724, -724, + -738, 0, 0, 0, 0, 0, -738, 0, -738, 0, 0, 0, -738, 0, 0, -738, 0, 0, 0, -738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -738, 0, -738, -738, -738, -738, 0, 0, 0, 0, 0, -738, -738, -738, -738, 0, -738, -738, -738, -738, 0, 0, 0, 0, -738, -738, -738, -738, -738, 0, 0, -738, -738, -738, -738, 0, -738, -738, -738, -738, -738, -738, -738, -738, -738, 0, 0, 0, -738, 0, 0, 0, 0, 0, -738, -738, -738, -738, -738, // State 4 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 5 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 6 - -746, -746, 0, -746, -746, -746, 0, -746, 0, 0, -746, -746, 396, -746, -746, 397, -746, 0, 0, 0, 0, 0, -746, -746, -746, 0, -746, -746, -746, -746, -746, -746, -746, -746, -746, -746, -746, 0, -746, 0, 0, 0, 0, -746, -746, -746, -746, -746, 0, -746, 0, 0, 0, 0, 0, 0, 0, 0, -746, 0, 0, -746, -746, 0, -746, 0, -746, -746, 0, 0, 0, -746, -746, 0, 0, 0, 0, 0, 0, 0, 0, -746, -746, -746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -760, -760, 0, -760, -760, -760, 0, -760, 0, 0, -760, -760, 429, -760, -760, 430, -760, 0, 0, 0, 0, 0, -760, -760, -760, 0, -760, -760, -760, -760, -760, -760, -760, -760, -760, -760, -760, 0, -760, 0, 0, 0, 0, -760, -760, -760, -760, -760, 0, -760, 0, 0, 0, 0, 0, 0, 0, 0, -760, 0, 0, -760, -760, 0, -760, 0, -760, -760, 0, 0, 0, -760, -760, 0, 0, 0, 0, 0, 0, 0, 0, 0, -760, -760, -760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 7 - -307, 398, 0, -307, 0, -307, 0, -307, 0, 0, -307, -307, 0, -307, -307, 0, -307, 0, 0, 0, 0, 0, -307, -307, -307, 0, -307, 399, 0, -307, 400, -307, 401, 402, 403, 0, -307, 0, -307, 0, 0, 0, 0, -307, 0, -307, -307, -307, 0, -307, 0, 0, 0, 0, 0, 0, 0, 0, -307, 0, 0, -307, -307, 0, -307, 0, 404, 405, 0, 0, 0, 406, -307, 0, 0, 0, 0, 0, 0, 0, 0, 30, -307, -307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -311, 431, 0, -311, 0, -311, 0, -311, 0, 0, -311, -311, 0, -311, -311, 0, -311, 0, 0, 0, 0, 0, -311, -311, -311, 0, -311, 432, 0, -311, 433, -311, 434, 435, 436, 0, -311, 0, -311, 0, 0, 0, 0, -311, 0, -311, -311, -311, 0, -311, 0, 0, 0, 0, 0, 0, 0, 0, -311, 0, 0, -311, -311, 0, -311, 0, 437, 438, 0, 0, 0, 439, -311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, -311, -311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 8 - 408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 9 - -153, -153, 0, -153, -153, -153, 0, -153, 0, 0, -153, -153, 0, -153, -153, 0, -153, 0, 0, 0, 0, 0, -153, -153, -153, 0, -153, -153, 410, -153, -153, -153, -153, -153, -153, 411, -153, 0, -153, 0, 0, 0, 0, -153, -153, -153, -153, -153, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, 0, -153, -153, 0, -153, 0, -153, -153, 0, 0, 0, -153, -153, 0, 0, 0, 0, 0, 0, 0, 0, -153, -153, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -153, -153, 0, -153, -153, -153, 0, -153, 0, 0, -153, -153, 0, -153, -153, 0, -153, 0, 0, 0, 0, 0, -153, -153, -153, 0, -153, -153, 443, -153, -153, -153, -153, -153, -153, 444, -153, 0, -153, 0, 0, 0, 0, -153, -153, -153, -153, -153, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, 0, -153, -153, 0, -153, 0, -153, -153, 0, 0, 0, -153, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, -153, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 10 - -165, -165, 412, -165, -165, -165, 0, -165, 413, 0, -165, -165, -165, -165, -165, -165, -165, 0, 0, 0, 414, 415, -165, -165, -165, 0, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, 416, -165, 0, 0, 0, 0, -165, -165, -165, -165, -165, 0, -165, 0, 0, 0, 0, 0, 0, 0, 0, -165, 0, 0, -165, -165, 0, -165, 0, -165, -165, 0, 0, 0, -165, -165, 0, 0, 0, 0, 0, 0, 0, 0, -165, -165, -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -165, -165, 445, -165, -165, -165, 0, -165, 446, 0, -165, -165, -165, -165, -165, -165, -165, 0, 0, 0, 447, 448, -165, -165, -165, 0, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, 449, -165, 0, 0, 0, 0, -165, -165, -165, -165, -165, 0, -165, 0, 0, 0, 0, 0, 0, 0, 0, -165, 0, 0, -165, -165, 0, -165, 0, -165, -165, 0, 0, 0, -165, -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, -165, -165, -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 11 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 12 - 0, 0, 0, 0, 0, 0, 13, 424, 14, 38, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 457, 14, 38, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 13 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 14 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 432, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 465, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 15 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 16 - 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 17 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 18 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 46, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 448, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 46, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 481, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 19 - 471, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 472, 16, 473, 0, 52, 474, 53, 54, 0, 0, 0, 0, 55, 56, 57, 58, 59, 0, 0, 17, 60, 61, 18, 0, 475, 62, 63, 476, 64, 65, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 505, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 506, 16, 507, 0, 52, 508, 53, 54, 0, 0, 0, 0, 55, 56, 57, 58, 59, 0, 0, 17, 60, 61, 18, 0, 509, 62, 63, 510, 64, 65, 66, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 20 - 471, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 472, 16, 473, 0, 52, 474, 53, 54, 0, 0, 0, 0, 55, 56, 57, 58, 59, 0, 0, 17, 60, 61, 18, 0, 475, 62, 63, 476, 64, 65, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 505, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 506, 16, 507, 0, 52, 508, 53, 54, 0, 0, 0, 0, 55, 56, 57, 58, 59, 0, 0, 17, 60, 61, 18, 0, 509, 62, 63, 510, 64, 65, 66, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 21 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 22 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 23 - 0, 0, 0, 0, 0, 0, 13, -161, 70, 71, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, -161, 71, 72, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 24 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 25 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 26 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 27 - -306, 398, 0, -306, 0, -306, 0, -306, 0, 0, -306, -306, 0, -306, -306, 0, -306, 0, 0, 0, 0, 0, -306, -306, -306, 0, -306, 399, 0, -306, 400, -306, 401, 402, 403, 0, -306, 0, -306, 0, 0, 0, 0, -306, 0, -306, -306, -306, 0, -306, 0, 0, 0, 0, 0, 0, 0, 0, -306, 0, 0, -306, -306, 0, -306, 0, 404, 405, 0, 0, 0, 406, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, -306, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -310, 431, 0, -310, 0, -310, 0, -310, 0, 0, -310, -310, 0, -310, -310, 0, -310, 0, 0, 0, 0, 0, -310, -310, -310, 0, -310, 432, 0, -310, 433, -310, 434, 435, 436, 0, -310, 0, -310, 0, 0, 0, 0, -310, 0, -310, -310, -310, 0, -310, 0, 0, 0, 0, 0, 0, 0, 0, -310, 0, 0, -310, -310, 0, -310, 0, 437, 438, 0, 0, 0, 439, -310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -310, -310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 28 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 29 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 30 - -403, 0, 0, -403, 0, -403, 13, -403, 14, 0, -403, -403, 380, -403, 0, 381, -403, 0, 0, 382, 0, 0, -403, -403, -403, 0, -403, 0, 0, -403, 0, -403, 0, 0, 0, 0, -403, 0, -403, 383, 384, 385, 15, 0, 0, -403, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, -403, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -415, 0, 0, -415, 0, -415, 13, -415, 14, 0, -415, -415, 413, -415, 0, 414, -415, 0, 0, 415, 0, 0, -415, -415, -415, 0, -415, 0, 0, -415, 0, -415, 0, 0, 0, 0, -415, 0, -415, 416, 417, 418, 15, 0, 0, -415, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, -415, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 31 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 32 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 33 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 34 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 35 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 36 - 0, 0, 0, 0, 0, 0, 0, 502, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 536, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 37 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 38 - -883, 0, 0, 0, 0, 0, 13, -883, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, -883, 0, 0, 0, 0, -883, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -909, 0, 0, 0, 0, 0, 13, -909, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, -909, 0, 0, 0, 0, -909, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 39 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -529, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 40 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, -686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, -700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 41 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -434, 0, 0, 0, 0, 0, 0, 0, 0, 0, -434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 42 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 43 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 44 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 45 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 46 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 47 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 0, 0, 0, 90, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 0, 0, 0, 91, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 48 - -367, 0, 0, 523, 0, 524, 0, 0, 0, 0, 525, 526, 0, 527, 0, 0, 528, 0, 0, 0, 0, 0, 529, 530, 0, 0, -367, 0, 0, 531, 0, 94, 0, 0, 0, 0, 532, 0, 533, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -371, 0, 0, 557, 0, 558, 0, 0, 0, 0, 559, 560, 0, 561, 0, 0, 562, 0, 0, 0, 0, 0, 563, 564, 0, 0, -371, 0, 0, 565, 0, 95, 0, 0, 0, 0, 566, 0, 567, 0, 0, 0, 0, 0, 0, 568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 49 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 50 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 51 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 52 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 53 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 54 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 55 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, // State 56 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 57 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 58 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, // State 59 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 60 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 61 - -731, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, -731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -745, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, -745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 62 - -379, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, -379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -383, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, -383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 63 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 64 - 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, 595, 596, 112, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 65 - -152, -152, 0, -152, -152, -152, 0, -152, 0, 0, -152, -152, 0, -152, -152, 0, -152, 0, 0, 0, 0, 0, -152, -152, -152, 0, -152, -152, 410, -152, -152, -152, -152, -152, -152, 411, -152, 0, -152, 0, 0, 0, 0, -152, -152, -152, -152, -152, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, -152, -152, 0, -152, 0, -152, -152, 0, 0, 0, -152, -152, 0, 0, 0, 0, 0, 0, 0, 0, -152, -152, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 629, 630, 115, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 66 - -164, -164, 412, -164, -164, -164, 0, -164, 413, 0, -164, -164, -164, -164, -164, -164, -164, 0, 0, 0, 414, 415, -164, -164, -164, 0, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, 416, -164, 0, 0, 0, 0, -164, -164, -164, -164, -164, 0, -164, 0, 0, 0, 0, 0, 0, 0, 0, -164, 0, 0, -164, -164, 0, -164, 0, -164, -164, 0, 0, 0, -164, -164, 0, 0, 0, 0, 0, 0, 0, 0, -164, -164, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -152, -152, 0, -152, -152, -152, 0, -152, 0, 0, -152, -152, 0, -152, -152, 0, -152, 0, 0, 0, 0, 0, -152, -152, -152, 0, -152, -152, 443, -152, -152, -152, -152, -152, -152, 444, -152, 0, -152, 0, 0, 0, 0, -152, -152, -152, -152, -152, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, -152, -152, 0, -152, 0, -152, -152, 0, 0, 0, -152, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, -152, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 67 - 0, 0, 0, 0, 0, 0, 13, -163, 70, 71, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -164, -164, 445, -164, -164, -164, 0, -164, 446, 0, -164, -164, -164, -164, -164, -164, -164, 0, 0, 0, 447, 448, -164, -164, -164, 0, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, 449, -164, 0, 0, 0, 0, -164, -164, -164, -164, -164, 0, -164, 0, 0, 0, 0, 0, 0, 0, 0, -164, 0, 0, -164, -164, 0, -164, 0, -164, -164, 0, 0, 0, -164, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, -164, -164, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 68 - 0, 0, 0, 0, 0, 0, 0, -395, 0, 0, 0, 0, 0, 0, -395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, -163, 71, 72, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 69 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -407, 0, 0, 0, 0, 0, 0, -407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 70 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 71 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, -796, 381, 0, 0, 0, 382, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, -796, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 72 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, -811, 414, 0, 0, 0, 415, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, -811, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 73 - -745, -745, 0, -745, -745, -745, 0, -745, 0, 0, -745, -745, 396, -745, -745, 397, -745, 0, 0, 0, 0, 0, -745, -745, -745, 0, -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, -745, 0, -745, 0, 0, 0, 0, -745, -745, -745, -745, -745, 0, -745, 0, 0, 0, 0, 0, 0, 0, 0, -745, 0, 0, -745, -745, 0, -745, 0, -745, -745, 0, 0, 0, -745, -745, 0, 0, 0, 0, 0, 0, 0, 0, -745, -745, -745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 74 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -759, -759, 0, -759, -759, -759, 0, -759, 0, 0, -759, -759, 429, -759, -759, 430, -759, 0, 0, 0, 0, 0, -759, -759, -759, 0, -759, -759, -759, -759, -759, -759, -759, -759, -759, -759, -759, 0, -759, 0, 0, 0, 0, -759, -759, -759, -759, -759, 0, -759, 0, 0, 0, 0, 0, 0, 0, 0, -759, 0, 0, -759, -759, 0, -759, 0, -759, -759, 0, 0, 0, -759, -759, 0, 0, 0, 0, 0, 0, 0, 0, 0, -759, -759, -759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 75 - 0, 0, 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 76 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, 0, 0, 0, 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 77 - 0, 0, 0, 0, 0, 0, 13, 612, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 78 - 0, 0, 0, 0, 0, 0, 13, 615, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 646, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 79 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 649, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 80 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, -437, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 81 - 0, 0, 0, 0, 0, 0, 0, 0, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, -637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, -449, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 82 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, -651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 83 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 84 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 85 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, -699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 86 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 46, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, -338, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 87 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, -743, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 46, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, -342, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 88 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, -757, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 89 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 90 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 91 - -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -368, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 92 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -372, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 93 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 94 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 95 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 96 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 97 - 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, 595, 596, 112, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 98 - 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 629, 630, 115, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 99 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, + 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 100 - -342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -342, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, -342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 101 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, // State 102 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -346, 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, -346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 103 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 104 - 0, -746, 0, 0, -746, 0, 0, 0, 0, 0, 0, 0, 396, 0, -746, 397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -746, -746, 0, -746, 0, -746, -746, -746, -746, 0, 0, 0, 0, 0, 0, 0, 0, -746, 0, -746, -746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -746, 0, -746, -746, 0, 0, 0, -746, -746, 0, 0, 0, 0, 0, 0, 0, 0, -746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 105 - 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 0, 0, 400, 0, 401, 402, 403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -307, -307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -307, 0, 404, 405, 0, 0, 0, 406, -307, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 106 - 0, -153, 0, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, 410, 0, -153, 0, -153, -153, -153, 411, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, -153, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, -153, -153, 0, 0, 0, -153, -153, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 107 - 0, -165, 412, 0, -165, 0, 0, 0, 413, 0, 0, 0, -165, 0, -165, -165, 0, 0, 0, 0, 414, 415, 0, 0, 0, 0, 0, -165, -165, 0, -165, 0, -165, -165, -165, -165, 0, 416, 0, 0, 0, 0, 0, 0, -165, 0, -165, -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -165, 0, -165, -165, 0, 0, 0, -165, -165, 0, 0, 0, 0, 0, 0, 0, 0, -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -760, 0, 0, -760, 0, 0, 0, 0, 0, 0, 0, 429, 0, -760, 430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -760, -760, 0, -760, 0, -760, -760, -760, -760, 0, 0, 0, 0, 0, 0, 0, 0, -760, 0, -760, -760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -760, 0, -760, -760, 0, 0, 0, -760, -760, 0, 0, 0, 0, 0, 0, 0, 0, 0, -760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 108 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 433, 0, 434, 435, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -311, -311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -311, 0, 437, 438, 0, 0, 0, 439, -311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 109 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -153, 0, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, 443, 0, -153, 0, -153, -153, -153, 444, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, -153, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, -153, -153, 0, 0, 0, -153, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 110 - 0, 0, 0, 0, 0, 0, 13, 660, 14, 171, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, -165, 445, 0, -165, 0, 0, 0, 446, 0, 0, 0, -165, 0, -165, -165, 0, 0, 0, 0, 447, 448, 0, 0, 0, 0, 0, -165, -165, 0, -165, 0, -165, -165, -165, -165, 0, 449, 0, 0, 0, 0, 0, 0, -165, 0, -165, -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -165, 0, -165, -165, 0, 0, 0, -165, -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, -165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 111 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 662, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 112 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 113 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 695, 14, 178, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 114 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 46, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 667, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 697, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 115 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 116 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, -798, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 117 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, -794, 381, 0, 0, 0, 382, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, -794, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 46, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 702, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 118 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, -799, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 119 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, -813, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 120 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, -758, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, -758, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, -809, 414, 0, 0, 0, 415, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, -809, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 121 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, -814, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 122 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 123 - 0, 0, 0, 0, 0, 0, 13, 678, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, -772, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, -772, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 124 - 0, 0, 0, 0, 0, 0, 0, 680, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 125 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, -655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 126 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, -665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 713, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 127 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 128 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, -669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 129 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, -679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 130 - 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 131 - -371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -371, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 132 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 133 - 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 134 - 0, 0, 0, 0, 0, 0, 13, -161, 70, 71, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 135 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -375, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 136 - 0, 0, 0, 0, 0, 0, 0, 701, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 137 - -362, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 138 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, -161, 71, 72, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 139 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 140 - 0, 0, 0, 0, 0, 0, 191, 0, 707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 141 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 142 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 741, 202, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 143 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -366, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, -366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 144 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 145 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 146 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 204, 0, 747, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 147 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 148 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 149 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 150 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 151 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, // State 152 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 153 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 154 - 0, 0, 0, 0, 0, 0, 13, -161, 70, 71, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 155 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 156 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 157 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 158 - 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, -308, 0, 0, 399, 0, 0, 400, 0, 401, 402, 403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -306, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -306, 0, 404, 405, 0, 0, 0, 406, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 159 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 160 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 161 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, -161, 71, 72, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 162 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 163 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 164 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 165 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -310, 0, 0, 0, 0, 0, 0, 0, 0, 0, -312, 0, 0, 432, 0, 0, 433, 0, 434, 435, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -310, -310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -310, 0, 437, 438, 0, 0, 0, 439, -310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 166 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 167 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 168 - 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 169 - 0, 0, 0, 0, 0, 0, 0, 743, 0, 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 170 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 171 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 172 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 173 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 174 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 175 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 176 - 0, 0, 0, 0, 0, 0, 13, 754, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 784, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 177 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, -652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 178 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -529, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 179 - 0, 0, 0, 0, 0, 0, 0, 0, 212, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 180 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 181 - 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 182 - 0, 0, 0, 0, 0, 0, 13, -161, 70, 71, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 183 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 795, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 184 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, -666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 185 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 186 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 226, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 187 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 188 - 0, 0, 0, 0, 0, 0, 0, -608, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 189 - 0, 0, 0, 0, 0, 0, 0, -432, 0, 0, 0, 0, 0, 0, -432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, -161, 71, 72, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 190 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 191 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 192 - -410, 0, 0, 0, 0, 0, -410, 0, -410, 0, 0, 0, -410, 0, 0, -410, 0, 0, 0, -410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -410, 0, -410, -410, -410, -410, 0, 0, 0, 0, 0, -410, -410, -410, -410, 0, -410, -410, -410, -410, 225, 778, 0, 0, -410, -410, -410, -410, -410, 0, 0, -410, -410, -410, -410, 0, -410, -410, -410, -410, -410, -410, -410, -410, 0, 0, 0, -410, -410, 0, 0, 0, 0, -410, -410, -410, -410, -410, + 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 193 - -835, 0, 0, 0, 0, 0, -835, 0, -835, 0, 0, 0, -835, 0, 0, -835, 0, 0, 0, -835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -835, 0, -835, -835, -835, -835, 0, 0, 0, 0, 0, -835, -835, -835, -835, 0, -835, -835, -835, -835, 0, 785, 229, 786, -835, -835, -835, -835, -835, 0, 0, -835, -835, -835, -835, 0, -835, -835, -835, -835, -835, -835, -835, -835, 0, 0, 0, -835, -835, 0, 0, 0, 0, -835, -835, -835, -835, -835, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 194 - -839, 0, 0, 0, 0, 0, -839, 0, -839, 0, 0, 0, -839, 0, 0, -839, 0, 0, 0, -839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -839, 0, -839, -839, -839, -839, 0, 0, 0, 0, 0, -839, -839, -839, -839, 0, -839, -839, -839, -839, 0, 788, 789, 790, -839, -839, -839, -839, -839, 0, 0, -839, -839, -839, -839, 0, -839, -839, -839, -839, -839, -839, -839, -839, 0, 0, 0, -839, -839, 0, 0, 0, 0, -839, -839, -839, -839, -839, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 195 - 0, 0, 0, 0, 0, 0, 13, 0, 230, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, -161, 71, 72, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 196 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 472, 16, 473, 0, 52, 474, 53, 54, 0, 0, 0, 0, 55, 56, 57, 58, 59, 0, 0, 17, 60, 61, 18, 0, 475, 62, 63, 476, 64, 65, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 197 - 0, -152, 0, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, -154, 0, 0, -152, 410, 0, -152, 0, -152, -152, -152, 411, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, -152, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, -152, -152, 0, 0, 0, -152, -152, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 198 - 0, -164, 412, 0, -164, 0, 0, 0, 413, 0, 0, 0, -164, 0, -164, -164, 0, 0, 0, 0, 414, 415, 0, 0, -166, 0, 0, -164, -164, 0, -164, 0, -164, -164, -164, -164, 0, 416, 0, 0, 0, 0, 0, 0, -164, 0, -164, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -164, 0, -164, -164, 0, 0, 0, -164, -164, 0, 0, 0, 0, 0, 0, 0, 0, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 199 - 0, -745, 0, 0, -745, 0, 0, 0, 0, 0, 0, 0, 396, 0, -745, 397, 0, 0, 0, 0, 0, 0, 0, 0, -747, 0, 0, -745, -745, 0, -745, 0, -745, -745, -745, -745, 0, 0, 0, 0, 0, 0, 0, 0, -745, 0, -745, -745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -745, 0, -745, -745, 0, 0, 0, -745, -745, 0, 0, 0, 0, 0, 0, 0, 0, -745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 200 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 201 - 0, 0, 0, 0, 0, 0, 13, 800, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -622, 0, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 202 - 0, 0, 0, 0, 0, 0, 13, 802, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -444, 0, 0, 0, 0, 0, 0, -444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 203 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 204 - 0, 0, 0, 0, 0, 0, 13, 805, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 205 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -422, 0, 0, 0, 0, 0, -422, 0, -422, 0, 0, 0, -422, 0, 0, -422, 0, 0, 0, -422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -422, 0, -422, -422, -422, -422, 0, 0, 0, 0, 0, -422, -422, -422, -422, 0, -422, -422, -422, -422, 246, 826, 0, 0, -422, -422, -422, -422, -422, 0, 0, -422, -422, -422, -422, 0, -422, -422, -422, -422, -422, -422, -422, -422, -422, 0, 0, 0, -422, -422, 0, 0, 0, 0, -422, -422, -422, -422, -422, // State 206 - 0, 0, 0, 0, 0, 0, 0, -753, 0, 0, 0, 0, 0, 0, -753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -753, 0, 0, 0, 0, 0, -753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -753, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -850, 0, 0, 0, 0, 0, -850, 0, -850, 0, 0, 0, -850, 0, 0, -850, 0, 0, 0, -850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -850, 0, -850, -850, -850, -850, 0, 0, 0, 0, 0, -850, -850, -850, -850, 0, -850, -850, -850, -850, 0, 833, 250, 834, -850, -850, -850, -850, -850, 0, 0, -850, -850, -850, -850, 0, -850, -850, -850, -850, -850, -850, -850, -850, -850, 0, 0, 0, -850, -850, 0, 0, 0, 0, -850, -850, -850, -850, -850, // State 207 - 0, 0, 0, 0, 0, 0, 13, 811, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + -854, 0, 0, 0, 0, 0, -854, 0, -854, 0, 0, 0, -854, 0, 0, -854, 0, 0, 0, -854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -854, 0, -854, -854, -854, -854, 0, 0, 0, 0, 0, -854, -854, -854, -854, 0, -854, -854, -854, -854, 0, 836, 837, 838, -854, -854, -854, -854, -854, 0, 0, -854, -854, -854, -854, 0, -854, -854, -854, -854, -854, -854, -854, -854, -854, 0, 0, 0, -854, -854, 0, 0, 0, 0, -854, -854, -854, -854, -854, // State 208 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 251, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 209 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 506, 16, 507, 0, 52, 508, 53, 54, 0, 0, 0, 0, 55, 56, 57, 58, 59, 0, 0, 17, 60, 61, 18, 0, 509, 62, 63, 510, 64, 65, 66, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 210 - 0, 0, 0, 0, 0, 0, 0, 0, 245, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 211 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, -656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, -152, 0, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, -154, 0, 0, -152, 443, 0, -152, 0, -152, -152, -152, 444, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, -152, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, -152, -152, 0, 0, 0, -152, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 212 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, -164, 445, 0, -164, 0, 0, 0, 446, 0, 0, 0, -164, 0, -164, -164, 0, 0, 0, 0, 447, 448, 0, 0, -166, 0, 0, -164, -164, 0, -164, 0, -164, -164, -164, -164, 0, 449, 0, 0, 0, 0, 0, 0, -164, 0, -164, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -164, 0, -164, -164, 0, 0, 0, -164, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 213 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, -759, 0, 0, -759, 0, 0, 0, 0, 0, 0, 0, 429, 0, -759, 430, 0, 0, 0, 0, 0, 0, 0, 0, -761, 0, 0, -759, -759, 0, -759, 0, -759, -759, -759, -759, 0, 0, 0, 0, 0, 0, 0, 0, -759, 0, -759, -759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -759, 0, -759, -759, 0, 0, 0, -759, -759, 0, 0, 0, 0, 0, 0, 0, 0, 0, -759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 214 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 215 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 849, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 216 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 851, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 217 - 0, 0, 0, 0, 0, 0, 0, -559, 253, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 218 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 854, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 219 - 0, 0, 0, 0, 0, 0, 0, -607, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 220 - 0, 0, 0, 0, 0, 0, 0, -600, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, -767, 0, 0, 0, 0, 0, 0, -767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -767, 0, 0, 0, 0, 0, -767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -767, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 221 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 860, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 222 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 223 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 224 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 266, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 225 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, -670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 226 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 227 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, -161, 71, 72, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 228 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 229 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 230 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 231 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 232 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 233 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 472, 16, 473, 0, 52, 474, 53, 54, 0, 0, 0, 0, 55, 56, 57, 58, 59, 0, 0, 17, 60, 61, 18, 0, 475, 62, 63, 476, 64, 65, 39, 19, 0, 0, 0, 386, 848, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 234 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 235 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 236 - 0, 0, 0, 0, 0, 0, 13, 851, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 237 - 0, 0, 0, 0, 0, 0, 0, 853, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 238 - 0, 0, 0, 0, 0, 0, 0, 855, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -573, 278, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 239 - 0, 0, 0, 0, 0, 0, 13, 856, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 240 - 0, 0, 0, 0, 0, 0, 0, -751, 0, 0, 0, 0, 0, 0, -751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -751, 0, 0, 0, 0, 0, -751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -751, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -621, 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 241 - 0, 0, 0, 0, 0, 0, 0, -754, 0, 0, 0, 0, 0, 0, -754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -754, 0, 0, 0, 0, 0, -754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -754, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -614, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 242 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 243 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 244 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, -657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 245 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, -653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 246 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 247 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 248 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 249 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 250 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 251 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 252 - 0, 0, 0, 0, 0, 0, 0, -577, 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 253 - 0, 0, 0, 0, 0, 0, 0, -587, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 254 - 0, 0, 0, 0, 0, 0, 0, -602, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 506, 16, 507, 0, 52, 508, 53, 54, 0, 0, 0, 0, 55, 56, 57, 58, 59, 0, 0, 17, 60, 61, 18, 0, 509, 62, 63, 510, 64, 65, 66, 39, 19, 0, 0, 0, 419, 906, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 255 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 256 - 0, 0, 0, 0, 0, 0, 0, -599, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 257 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 909, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 258 - 0, 0, 0, 0, 0, 0, 0, 882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 259 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 913, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 260 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 914, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 261 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -765, 0, 0, 0, 0, 0, 0, -765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -765, 0, 0, 0, 0, 0, -765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -765, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 262 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 886, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -768, 0, 0, 0, 0, 0, 0, -768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -768, 0, 0, 0, 0, 0, -768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -768, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 263 - 0, 0, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 264 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 265 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, -671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 266 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, -667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 267 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 268 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 269 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 270 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 271 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 272 - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 273 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 274 - 0, 0, 0, 0, 0, 0, 13, 925, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 275 - 0, 0, 0, 0, 0, 0, 13, 927, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 276 - 0, 0, 0, 0, 0, 0, 0, -752, 0, 0, 0, 0, 0, 0, -752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -752, 0, 0, 0, 0, 0, -752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -752, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 277 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, -654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -591, 0, 0, 0, 0, 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 278 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, -601, 0, 0, 0, 0, 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 279 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, -616, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 280 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 281 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -613, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 282 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 283 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 945, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 284 - 0, 0, 0, 0, 0, 0, 0, -574, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 285 - 0, 0, 0, 0, 0, 0, 0, -550, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 286 - 0, 0, 0, 0, 0, 0, 0, -560, 312, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 287 - 0, 0, 0, 0, 0, 0, 0, -601, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 949, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 288 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 289 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 290 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 291 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 947, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 292 - 0, 0, 0, 0, 0, 0, 0, -444, 0, 0, 0, 0, 396, 0, -444, 397, 0, 0, 0, 0, 0, 0, 0, 0, -444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -444, 0, 0, 0, -444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -444, 0, -444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 293 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 294 - 0, 0, 0, 0, 0, 0, 295, 950, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 295 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 296 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 297 - 0, 0, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 954, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 298 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 963, 964, 965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 966, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 299 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 967, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 988, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 300 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 990, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 301 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, -766, 0, 0, 0, 0, 0, 0, -766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -766, 0, 0, 0, 0, 0, -766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -766, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 302 - 0, 0, 0, 0, 0, 0, 13, 976, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, -668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 303 - 0, 0, 0, 0, 0, 0, 13, 977, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 304 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 305 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 306 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 307 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 308 - 0, 0, 0, 0, 0, 0, 0, -556, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 309 - 0, 0, 0, 0, 0, 0, 0, -547, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 310 - 0, 0, 0, 0, 0, 0, 0, -561, 335, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 311 - 0, 0, 0, 0, 0, 0, 0, -578, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 312 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 313 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -588, 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 314 - 0, 0, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -564, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 315 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -574, 344, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 316 - 0, 0, 0, 0, 0, 0, 295, 1001, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -615, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 317 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 318 - 0, 0, 0, 0, 0, 0, 295, 1005, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 319 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 320 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1014, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 321 - 0, 0, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, -716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, 0, 429, 0, -456, 430, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 322 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 323 - 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 324, 1017, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 324 - 0, 0, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 325 - 0, 0, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, -717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 0, 0, // State 326 - 0, 0, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 327 - 0, 0, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 1017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1033, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 328 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 397, 0, 0, 0, 0, 0, 0, 0, 0, -447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 329 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 330 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 331 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 1043, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 332 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 13, 1044, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 333 - 0, 0, 0, 0, 0, 0, 0, -553, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 334 - 0, 0, 0, 0, 0, 0, 0, -579, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 335 - 0, 0, 0, 0, 0, 0, 0, -575, 0, 0, 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 336 - 0, 0, 0, 0, 0, 0, 0, -551, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 337 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 338 - 0, 0, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 339 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 963, 964, 965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 340 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -570, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 341 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -561, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 342 - 652, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 380, 0, 0, 381, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 15, 0, 0, 0, 0, 0, 51, 0, 16, 473, 0, 0, 474, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 475, 62, 63, 0, 0, 0, 39, 19, 0, 0, 0, 386, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, -575, 368, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 343 - 0, 0, 0, 0, 0, 0, 0, -576, 0, 0, 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -592, 0, 0, 0, 0, 0, 0, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 344 - 0, 0, 0, 0, 0, 0, 0, -552, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 345 - 0, 0, 0, 0, 0, 0, 0, -557, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 346 - 0, 0, 0, 0, 0, 0, 0, -548, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 347 - 0, 0, 0, 0, 0, 0, 295, 0, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 0, 0, // State 348 - 0, 0, 0, 0, 0, 0, 0, 1064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 324, 1071, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 349 - 0, 0, 0, 0, 0, 0, 295, 1067, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 350 - 0, 0, 0, 0, 0, 0, 0, 1068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 324, 1075, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 351 - 0, 0, 0, 0, 0, 0, 295, 1070, 296, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 908, 909, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 388, 389, 390, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 352 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 353 - 0, 0, 0, 0, 0, 0, 0, -558, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, -730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 354 - 0, 0, 0, 0, 0, 0, 0, -549, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 355 - 0, 0, 0, 0, 0, 0, 0, -554, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 356 - 0, 0, 0, 0, 0, 0, 0, -555, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 357 - 0, 0, 0, 0, 0, 0, 0, 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, -731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 358 - 0, 0, 0, 0, 0, 0, 0, 1089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 359 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 1087, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 360 - -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, 0, -178, 0, -178, -178, -178, -178, -178, 0, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, 0, 0, 0, -178, -178, -178, -178, -178, -178, 0, -178, 0, 0, 0, 0, 0, 0, 0, 0, -178, 0, 0, -178, -178, 0, -178, 0, -178, -178, 0, 0, 0, -178, -178, 0, 0, 0, 0, 0, 0, 0, 0, -178, -178, -178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, 430, 0, 0, 0, 0, 0, 0, 0, 0, -459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 361 - -879, -879, 0, -879, 22, -879, 0, -879, 0, 0, -879, -879, 0, -879, -879, 0, -879, 0, 0, 0, 0, 0, -879, -879, -879, 0, -879, -879, 0, -879, -879, -879, -879, -879, -879, 0, -879, 0, -879, 0, 0, 0, 0, -879, -879, -879, -879, -879, 0, -879, 0, 0, 0, 0, 0, 0, 0, 0, -879, 0, 0, -879, -879, 0, -879, 0, -879, -879, 0, 0, 0, -879, -879, 0, 0, 0, 0, 0, 0, 0, 0, -879, -879, -879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 362 - -522, 0, 0, -522, 0, -522, 0, -522, 0, 0, -522, -522, 0, -522, -522, 0, -522, 0, 0, 0, 0, 0, -522, -522, -522, 0, -522, 0, 0, -522, 0, -522, 0, 0, 0, 0, -522, 0, -522, 0, 0, 0, 0, -522, 0, -522, 0, -522, 0, -522, 0, 0, 0, 0, 0, 0, 0, 0, -522, 0, 0, -522, -522, 0, -522, 0, 0, 0, 0, 0, 0, 0, 395, 0, 0, 0, 0, 0, 0, 0, 0, 0, -522, -522, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 363 - -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, 0, -234, 0, -234, -234, -234, -234, -234, 0, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, 0, 0, 0, -234, -234, -234, -234, -234, -234, 0, -234, 0, 0, 0, 0, 0, 0, 0, 0, -234, 0, 0, -234, -234, 0, -234, 0, -234, -234, 0, 0, 0, -234, -234, 0, 0, 0, 0, 0, 0, 0, 0, -234, -234, -234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 364 - -243, -243, -243, -243, -243, -243, 24, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, 0, 25, 0, -243, -243, -243, -243, -243, 0, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, 0, 0, 0, 26, -243, -243, -243, -243, -243, 0, -243, 0, 0, 0, 0, 0, 0, 0, 0, -243, 0, 0, -243, -243, 0, -243, 0, -243, -243, 0, 0, 0, -243, -243, 0, 0, 0, 0, 0, 0, 0, 0, -243, -243, -243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 365 - -721, -721, -721, -721, -721, -721, 0, -721, -721, 27, -721, -721, -721, -721, -721, -721, -721, 0, 0, 0, -721, -721, -721, -721, -721, 0, -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, -721, 0, 0, 0, 0, -721, -721, -721, -721, -721, 0, -721, 0, 0, 0, 0, 0, 0, 0, 0, -721, 0, 0, -721, -721, 0, -721, 0, -721, -721, 0, 0, 0, -721, -721, 0, 0, 0, 0, 0, 0, 0, 0, -721, -721, -721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 366 - -486, 0, 0, -486, 0, -486, 0, -486, 0, 0, -486, -486, 0, -486, -486, 0, -486, 0, 0, 0, 0, 0, -486, -486, -486, 0, -486, 0, 0, -486, 0, -486, 0, 0, 0, 0, -486, 0, -486, 0, 0, 0, 0, -486, 0, -486, -486, -486, 0, -486, 0, 0, 0, 0, 0, 0, 0, 0, -486, 0, 0, -486, -486, 0, -486, 0, 0, 0, 0, 0, 0, 0, -486, 0, 0, 0, 0, 0, 0, 0, 0, 0, -486, -486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -567, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 367 - -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, 0, -179, 0, -179, -179, -179, -179, -179, 0, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, 0, 0, 0, -179, -179, -179, -179, -179, -179, 0, -179, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, -179, -179, 0, -179, 0, -179, -179, 0, 0, 0, -179, -179, 0, 0, 0, 0, 0, 0, 0, 0, -179, -179, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -593, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 368 - -807, -807, -807, -807, -807, -807, 0, -807, -807, 0, -807, -807, -807, -807, -807, -807, -807, 0, 0, 0, -807, -807, -807, -807, -807, 0, -807, -807, -807, -807, -807, -807, -807, -807, -807, -807, -807, -807, -807, 0, 0, 0, 0, -807, -807, -807, -807, -807, 0, -807, 0, 0, 0, 0, 0, 0, 0, 0, -807, 0, 0, -807, -807, 0, -807, 0, -807, -807, 0, 0, 0, -807, -807, 0, 0, 0, 0, 0, 0, 0, 0, -807, -807, -807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -589, 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 369 - -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, 0, -180, 0, -180, -180, -180, -180, -180, 0, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, 0, 0, 0, -180, -180, -180, -180, -180, -180, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, -180, -180, 0, -180, 0, -180, -180, 0, 0, 0, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, -180, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -565, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 370 - -812, 0, 0, -812, 0, -812, 0, -812, 0, 0, -812, -812, 0, -812, -812, 0, -812, 0, 0, 0, 0, 0, -812, -812, -812, 0, -812, 0, 0, -812, 0, -812, 0, 0, 0, 0, -812, 0, -812, 0, 0, 0, 0, -812, 0, -812, 0, -812, 0, -812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -812, -812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -812, -812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 371 - -157, 0, 0, -157, 0, -157, 0, -157, 0, 0, -157, -157, 0, -157, -157, 0, -157, 0, 0, 0, 0, 0, -157, -157, -157, 0, -157, 0, 0, -157, 0, -157, 0, 0, 0, 0, -157, 0, -157, 0, 0, 0, 0, -157, 0, -157, 409, -157, 0, -157, 0, 0, 0, 0, 0, 0, 0, 0, -157, 0, 0, -157, -157, 0, -157, 0, 0, 0, 0, 0, 0, 0, -157, 0, 0, 0, 0, 0, 0, 0, 0, 0, -157, -157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 372 - -404, 0, 0, -404, 0, -404, 0, -404, 0, 0, -404, -404, 0, -404, 31, 0, -404, 0, 0, 0, 0, 0, -404, -404, -404, 0, -404, 0, 0, -404, 0, -404, 0, 0, 0, 0, -404, 0, -404, 0, 0, 0, 0, 0, 0, -404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 1031, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 373 - -811, 0, 0, -811, 0, -811, 0, -811, 0, 0, -811, -811, 0, -811, -811, 0, -811, 0, 0, 0, 0, 0, -811, -811, -811, 0, -811, 0, 0, -811, 0, -811, 0, 0, 0, 0, -811, 0, -811, 0, 0, 0, 0, -811, 0, -811, 0, -811, 0, -811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -811, -811, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -811, -811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 374 - -373, -373, -373, -373, -373, -373, 0, -373, -373, 0, -373, -373, -373, -373, -373, -373, -373, 0, 0, 0, -373, -373, -373, -373, -373, 0, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, 0, 0, 0, 0, -373, -373, -373, -373, -373, 0, -373, 0, 0, 0, 0, 0, 0, 0, 0, -373, 0, 0, -373, -373, 0, -373, 0, -373, -373, 0, 0, 0, -373, -373, 0, 0, 0, 0, 0, 0, 0, 0, -373, -373, -373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 375 - -824, 0, 0, -824, 0, -824, 0, -824, 0, 0, -824, -824, 0, -824, -824, 0, -824, 0, 0, 0, 0, 0, -824, -824, -824, 0, -824, 0, 0, -824, 0, -824, 0, 0, 0, 0, -824, 0, -824, 0, 0, 0, 0, 0, 0, -824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 686, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 413, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 15, 0, 0, 0, 0, 0, 51, 0, 16, 507, 0, 0, 508, 0, 54, 0, 0, 0, 0, 0, 56, 57, 0, 59, 0, 0, 17, 0, 61, 18, 0, 509, 62, 63, 0, 64, 0, 0, 39, 19, 0, 0, 0, 419, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 376 - -823, 0, 0, -823, 0, -823, 0, -823, 0, 0, -823, -823, 0, -823, -823, 0, -823, 0, 0, 0, 0, 0, -823, -823, -823, 0, -823, 0, 0, -823, 0, -823, 0, 0, 0, 0, -823, 0, -823, 0, 0, 0, 0, 0, 0, -823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -590, 0, 0, 0, 0, 0, 0, 388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 377 - -515, 0, 0, -515, 0, -515, 0, -515, 0, 0, -515, -515, 0, -515, -515, 0, -515, 0, 0, 0, 0, 0, -515, -515, -515, 0, -515, 0, 0, -515, 0, -515, 0, 0, 0, 0, -515, 0, -515, 0, 0, 0, 0, 0, 0, -515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -566, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 378 - -358, -358, 0, -358, 0, -358, 0, -358, 0, 0, -358, -358, 0, -358, -358, 0, -358, 0, 0, 0, 0, 0, -358, -358, -358, 0, -358, -358, 0, -358, -358, -358, -358, -358, -358, 0, -358, 0, -358, 0, 0, 0, 0, -358, 35, -358, -358, -358, 0, -358, 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, 0, -358, -358, 0, -358, 0, -358, -358, 0, 0, 0, -358, -358, 0, 0, 0, 0, 0, 0, 0, 0, -358, -358, -358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -571, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 379 - 0, 0, 0, 0, 0, 0, -851, 0, 0, 0, 0, 0, -851, 0, 0, -851, 0, 0, 0, -851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -851, -851, -851, -851, 0, 0, 0, 0, 0, 0, 0, -851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -851, 0, 0, 0, -851, 0, 0, 0, 0, 0, -851, -851, -851, -851, -851, + 0, 0, 0, 0, 0, 0, 0, -562, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 380 - 0, 0, 0, 0, 0, 0, -852, 0, 0, 0, 0, 0, -852, 0, 0, -852, 0, 0, 0, -852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -852, -852, -852, -852, 0, 0, 0, 0, 0, 0, 0, -852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -852, 0, 0, 0, -852, 0, 0, 0, 0, 0, -852, -852, -852, -852, -852, + 0, 0, 0, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 381 - -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, 0, -206, 0, -206, -206, -206, -206, -206, 0, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, 0, 0, 0, -206, -206, -206, -206, -206, -206, 0, -206, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, 0, -206, -206, 0, -206, 0, -206, -206, 0, 0, 0, -206, -206, 0, 0, 0, 0, 0, 0, 0, 0, -206, -206, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 382 - -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, 0, -204, 0, -204, -204, -204, -204, -204, 0, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, 0, 0, 0, -204, -204, -204, -204, -204, -204, 0, -204, 0, 0, 0, 0, 0, 0, 0, 0, -204, 0, 0, -204, -204, 0, -204, 0, -204, -204, 0, 0, 0, -204, -204, 0, 0, 0, 0, 0, 0, 0, 0, -204, -204, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 324, 1138, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 383 - -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, 0, -205, 0, -205, -205, -205, -205, -205, 0, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, 0, 0, 0, -205, -205, -205, -205, -205, -205, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, 0, -205, -205, 0, -205, 0, -205, -205, 0, 0, 0, -205, -205, 0, 0, 0, 0, 0, 0, 0, 0, -205, -205, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 384 - -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, 0, -203, 0, -203, -203, -203, -203, -203, 0, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, 0, 0, 0, -203, -203, -203, -203, -203, -203, 0, -203, 0, 0, 0, 0, 0, 0, 0, 0, -203, 0, 0, -203, -203, 0, -203, 0, -203, -203, 0, 0, 0, -203, -203, 0, 0, 0, 0, 0, 0, 0, 0, -203, -203, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 324, 1141, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 971, 972, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, 422, 423, 424, // State 385 - 0, 0, 0, 0, 0, 0, -853, 0, 0, 0, 0, 0, -853, 0, 0, -853, 0, 0, 0, -853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -853, -853, -853, -853, 0, 0, 0, 0, 0, 0, 0, -853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -853, 0, 0, 0, -853, 0, 0, 0, 0, 0, -853, -853, -853, -853, -853, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 386 - -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, 0, -325, 0, -325, -325, -325, -325, -325, 0, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, 0, 0, 0, -325, -325, -325, -325, -325, -325, 0, -325, 0, 0, 0, 0, 0, 0, 0, 0, -325, 0, 0, -325, -325, 0, -325, 0, -325, -325, 0, 0, 0, -325, -325, 0, 0, 0, 0, 0, 0, 0, 0, -325, -325, -325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -572, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 387 - -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, 0, -324, 0, -324, -324, -324, -324, -324, 0, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, 0, 0, 0, -324, -324, -324, -324, -324, -324, 0, -324, 0, 0, 0, 0, 0, 0, 0, 0, -324, 0, 0, -324, -324, 0, -324, 0, -324, -324, 0, 0, 0, -324, -324, 0, 0, 0, 0, 0, 0, 0, 0, -324, -324, -324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -563, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 388 - -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, 0, -323, 0, -323, -323, -323, -323, -323, 0, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, 0, 0, 0, -323, -323, -323, -323, -323, -323, 0, -323, 0, 0, 0, 0, 0, 0, 0, 0, -323, 0, 0, -323, -323, 0, -323, 0, -323, -323, 0, 0, 0, -323, -323, 0, 0, 0, 0, 0, 0, 0, 0, -323, -323, -323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -568, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 389 - -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, 0, -407, 0, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, -407, 0, 0, 0, -407, -407, -407, -407, -407, -407, 0, -407, 0, 0, 0, 0, 0, 0, 0, 0, -407, 0, 0, -407, -407, 0, -407, -407, -407, -407, 0, 0, 0, -407, -407, 0, 0, 0, 0, 0, 0, 0, 0, -407, -407, -407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -569, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 390 - -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, 0, -136, 0, -136, -136, -136, -136, -136, 0, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, 0, 0, 0, -136, -136, -136, -136, -136, -136, 0, -136, 0, 0, 0, 0, 0, 0, 0, 0, -136, 0, 0, -136, -136, 0, -136, 0, -136, -136, 0, 0, 0, -136, -136, 0, 0, 0, 0, 0, 0, 0, 0, -136, -136, -136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, + 0, 0, 0, 0, 0, 0, 0, 1159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 391 - -521, 0, 0, -521, 0, -521, 0, -521, 0, 0, -521, -521, 0, -521, -521, 0, -521, 0, 0, 0, 0, 0, -521, -521, -521, 0, -521, 0, 0, -521, 0, -521, 0, 0, 0, 0, -521, 0, -521, 0, 0, 0, 0, -521, 0, -521, 0, -521, 0, -521, 0, 0, 0, 0, 0, 0, 0, 0, -521, 0, 0, -521, -521, 0, -521, 0, 0, 0, 0, 0, 0, 0, 477, 0, 0, 0, 0, 0, 0, 0, 0, 0, -521, -521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, // State 392 - -156, 0, 0, -156, 0, -156, 0, -156, 0, 0, -156, -156, 0, -156, -156, 0, -156, 0, 0, 0, 0, 0, -156, -156, -156, 0, -156, 0, 0, -156, 0, -156, 0, 0, 0, 0, -156, 0, -156, 0, 0, 0, 0, -156, 0, -156, 478, -156, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, -156, -156, 0, -156, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, -156, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 393 - -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, 0, -137, 0, -137, -137, -137, -137, -137, 0, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, 0, 0, 0, -137, -137, -137, -137, -137, -137, 0, -137, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, 0, -137, -137, 0, -137, 0, -137, -137, 0, 0, 0, -137, -137, 0, 0, 0, 0, 0, 0, 0, 0, -137, -137, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, + -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, 0, -178, 0, -178, -178, -178, -178, -178, 0, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, 0, 0, 0, -178, -178, -178, -178, -178, -178, 0, -178, 0, 0, 0, 0, 0, 0, 0, 0, -178, 0, 0, -178, -178, 0, -178, 0, -178, -178, 0, 0, 0, -178, -178, 0, 0, 0, 0, 0, 0, 0, 0, 0, -178, -178, -178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, // State 394 - 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, 0, -108, 0, 0, -108, 0, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -108, -108, -108, -108, 0, 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, -108, 0, 0, 0, 0, 0, -108, -108, -108, -108, -108, + -905, -905, 0, -905, 22, -905, 0, -905, 0, 0, -905, -905, 0, -905, -905, 0, -905, 0, 0, 0, 0, 0, -905, -905, -905, 0, -905, -905, 0, -905, -905, -905, -905, -905, -905, 0, -905, 0, -905, 0, 0, 0, 0, -905, -905, -905, -905, -905, 0, -905, 0, 0, 0, 0, 0, 0, 0, 0, -905, 0, 0, -905, -905, 0, -905, 0, -905, -905, 0, 0, 0, -905, -905, 0, 0, 0, 0, 0, 0, 0, 0, 0, -905, -905, -905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 395 - 0, 0, 0, 0, 0, 0, -149, 0, 0, 0, 0, 0, -149, 0, 0, -149, 0, 0, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -149, -149, -149, -149, 0, 0, 0, 0, 0, 0, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -149, 0, 0, 0, -149, 0, 0, 0, 0, 0, -149, -149, -149, -149, -149, + -536, 0, 0, -536, 0, -536, 0, -536, 0, 0, -536, -536, 0, -536, -536, 0, -536, 0, 0, 0, 0, 0, -536, -536, -536, 0, -536, 0, 0, -536, 0, -536, 0, 0, 0, 0, -536, 0, -536, 0, 0, 0, 0, -536, 0, -536, 0, -536, 0, -536, 0, 0, 0, 0, 0, 0, 0, 0, -536, 0, 0, -536, -536, 0, -536, 0, 0, 0, 0, 0, 0, 0, 428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -536, -536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 396 - 0, 0, 0, 0, 0, 0, -150, 0, 0, 0, 0, 0, -150, 0, 0, -150, 0, 0, 0, -150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -150, -150, -150, -150, 0, 0, 0, 0, 0, 0, 0, -150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -150, 0, 0, 0, -150, 0, 0, 0, 0, 0, -150, -150, -150, -150, -150, + -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, 0, -234, 0, -234, -234, -234, -234, -234, 0, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, 0, 0, 0, -234, -234, -234, -234, -234, -234, 0, -234, 0, 0, 0, 0, 0, 0, 0, 0, -234, 0, 0, -234, -234, 0, -234, 0, -234, -234, 0, 0, 0, -234, -234, 0, 0, 0, 0, 0, 0, 0, 0, 0, -234, -234, -234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 397 - 0, 0, 0, 0, 0, 0, -297, 0, 0, 0, 0, 0, -297, 0, 0, -297, 0, 0, 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -297, -297, -297, -297, 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, 0, -297, 0, 0, 0, 0, 0, -297, -297, -297, -297, -297, + -243, -243, -243, -243, -243, -243, 24, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, 0, 25, 0, -243, -243, -243, -243, -243, 0, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, 0, 0, 0, 26, -243, -243, -243, -243, -243, 0, -243, 0, 0, 0, 0, 0, 0, 0, 0, -243, 0, 0, -243, -243, 0, -243, 0, -243, -243, 0, 0, 0, -243, -243, 0, 0, 0, 0, 0, 0, 0, 0, 0, -243, -243, -243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 398 - 0, 0, 0, 0, 0, 0, -298, 0, 0, 0, 0, 0, -298, 0, 0, -298, 0, 0, 0, -298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298, -298, -298, -298, 0, 0, 0, 0, 0, 0, 0, -298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298, 0, 0, 0, -298, 0, 0, 0, 0, 0, -298, -298, -298, -298, -298, + -735, -735, -735, -735, -735, -735, 0, -735, -735, 27, -735, -735, -735, -735, -735, -735, -735, 0, 0, 0, -735, -735, -735, -735, -735, 0, -735, -735, -735, -735, -735, -735, -735, -735, -735, -735, -735, -735, -735, 0, 0, 0, 0, -735, -735, -735, -735, -735, 0, -735, 0, 0, 0, 0, 0, 0, 0, 0, -735, 0, 0, -735, -735, 0, -735, 0, -735, -735, 0, 0, 0, -735, -735, 0, 0, 0, 0, 0, 0, 0, 0, 0, -735, -735, -735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 399 - 0, 0, 0, 0, 0, 0, -299, 0, 0, 0, 0, 0, -299, 0, 0, -299, 0, 0, 0, -299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -299, -299, -299, -299, 0, 0, 0, 0, 0, 0, 0, -299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -299, 0, 0, 0, -299, 0, 0, 0, 0, 0, -299, -299, -299, -299, -299, + -498, 0, 0, -498, 0, -498, 0, -498, 0, 0, -498, -498, 0, -498, -498, 0, -498, 0, 0, 0, 0, 0, -498, -498, -498, 0, -498, 0, 0, -498, 0, -498, 0, 0, 0, 0, -498, 0, -498, 0, 0, 0, 0, -498, 0, -498, -498, -498, 0, -498, 0, 0, 0, 0, 0, 0, 0, 0, -498, 0, 0, -498, -498, 0, -498, 0, 0, 0, 0, 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -498, -498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 400 - 0, 0, 0, 0, 0, 0, -296, 0, 0, 0, 0, 0, -296, 0, 0, -296, 0, 0, 0, -296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -296, -296, -296, -296, 0, 0, 0, 0, 0, 0, 0, -296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -296, 0, 0, 0, -296, 0, 0, 0, 0, 0, -296, -296, -296, -296, -296, + -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, 0, -179, 0, -179, -179, -179, -179, -179, 0, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, 0, 0, 0, -179, -179, -179, -179, -179, -179, 0, -179, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, -179, -179, 0, -179, 0, -179, -179, 0, 0, 0, -179, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, -179, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 401 - 0, 0, 0, 0, 0, 0, -300, 0, 0, 0, 0, 0, -300, 0, 0, -300, 0, 0, 0, -300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -300, -300, -300, -300, 0, 0, 0, 0, 0, 0, 0, -300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -300, 0, 0, 0, -300, 0, 0, 0, 0, 0, -300, -300, -300, -300, -300, + -822, -822, -822, -822, -822, -822, 0, -822, -822, 0, -822, -822, -822, -822, -822, -822, -822, 0, 0, 0, -822, -822, -822, -822, -822, 0, -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, -822, 0, 0, 0, 0, -822, -822, -822, -822, -822, 0, -822, 0, 0, 0, 0, 0, 0, 0, 0, -822, 0, 0, -822, -822, 0, -822, 0, -822, -822, 0, 0, 0, -822, -822, 0, 0, 0, 0, 0, 0, 0, 0, 0, -822, -822, -822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 402 - 0, 0, 0, 0, 0, 0, -301, 0, 0, 0, 0, 0, -301, 0, 0, -301, 0, 0, 0, -301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -301, -301, -301, -301, 0, 0, 0, 0, 0, 0, 0, -301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -301, 0, 0, 0, -301, 0, 0, 0, 0, 0, -301, -301, -301, -301, -301, + -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, 0, -180, 0, -180, -180, -180, -180, -180, 0, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, 0, 0, 0, -180, -180, -180, -180, -180, -180, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, -180, -180, 0, -180, 0, -180, -180, 0, 0, 0, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 403 - 0, 0, 0, 0, 0, 0, -302, 0, 0, 0, 0, 0, -302, 0, 0, -302, 0, 0, 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, -302, -302, -302, 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, 0, -302, 0, 0, 0, 0, 0, -302, -302, -302, -302, -302, + -827, 0, 0, -827, 0, -827, 0, -827, 0, 0, -827, -827, 0, -827, -827, 0, -827, 0, 0, 0, 0, 0, -827, -827, -827, 0, -827, 0, 0, -827, 0, -827, 0, 0, 0, 0, -827, 0, -827, 0, 0, 0, 0, -827, 0, -827, 0, -827, 0, -827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -827, -827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -827, -827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 404 - 0, 0, 0, 0, 0, 0, -304, 0, 0, 0, 0, 0, -304, 0, 0, -304, 0, 0, 0, -304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -304, -304, -304, -304, 0, 0, 0, 0, 0, 0, 0, -304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, 0, 0, 0, 0, -304, 0, 0, 0, -304, 0, 0, 0, 0, 0, -304, -304, -304, -304, -304, + -157, 0, 0, -157, 0, -157, 0, -157, 0, 0, -157, -157, 0, -157, -157, 0, -157, 0, 0, 0, 0, 0, -157, -157, -157, 0, -157, 0, 0, -157, 0, -157, 0, 0, 0, 0, -157, 0, -157, 0, 0, 0, 0, -157, 0, -157, 442, -157, 0, -157, 0, 0, 0, 0, 0, 0, 0, 0, -157, 0, 0, -157, -157, 0, -157, 0, 0, 0, 0, 0, 0, 0, -157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -157, -157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 405 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -416, 0, 0, -416, 0, -416, 0, -416, 0, 0, -416, -416, 0, -416, 31, 0, -416, 0, 0, 0, 0, 0, -416, -416, -416, 0, -416, 0, 0, -416, 0, -416, 0, 0, 0, 0, -416, 0, -416, 0, 0, 0, 0, 0, 0, -416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 406 - 493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -826, 0, 0, -826, 0, -826, 0, -826, 0, 0, -826, -826, 0, -826, -826, 0, -826, 0, 0, 0, 0, 0, -826, -826, -826, 0, -826, 0, 0, -826, 0, -826, 0, 0, 0, 0, -826, 0, -826, 0, 0, 0, 0, -826, 0, -826, 0, -826, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, -826, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 407 - -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -377, -377, -377, -377, -377, -377, 0, -377, -377, 0, -377, -377, -377, -377, -377, -377, -377, 0, 0, 0, -377, -377, -377, -377, -377, 0, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, -377, 0, 0, 0, 0, -377, -377, -377, -377, -377, 0, -377, 0, 0, 0, 0, 0, 0, 0, 0, -377, 0, 0, -377, -377, 0, -377, 0, -377, -377, 0, 0, 0, -377, -377, 0, 0, 0, 0, 0, 0, 0, 0, 0, -377, -377, -377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 408 - 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, 0, 0, -116, 0, 0, -116, 0, 0, 0, -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -116, -116, -116, -116, 0, 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, -116, 0, 0, 0, 0, 0, -116, -116, -116, -116, -116, + -839, 0, 0, -839, 0, -839, 0, -839, 0, 0, -839, -839, 0, -839, -839, 0, -839, 0, 0, 0, 0, 0, -839, -839, -839, 0, -839, 0, 0, -839, 0, -839, 0, 0, 0, 0, -839, 0, -839, 0, 0, 0, 0, 0, 0, -839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 409 - 0, 0, 0, 0, 0, 0, -749, 0, 0, 0, 0, 0, -749, 0, 0, -749, 0, 0, 0, -749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -749, -749, -749, -749, 0, 0, 0, 0, 0, 0, 0, -749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -749, 0, 0, 0, -749, 0, 0, 0, 0, 0, -749, -749, -749, -749, -749, + -838, 0, 0, -838, 0, -838, 0, -838, 0, 0, -838, -838, 0, -838, -838, 0, -838, 0, 0, 0, 0, 0, -838, -838, -838, 0, -838, 0, 0, -838, 0, -838, 0, 0, 0, 0, -838, 0, -838, 0, 0, 0, 0, 0, 0, -838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 410 - 0, 0, 0, 0, 0, 0, -750, 0, 0, 0, 0, 0, -750, 0, 0, -750, 0, 0, 0, -750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -750, -750, -750, -750, 0, 0, 0, 0, 0, 0, 0, -750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -750, 0, 0, 0, -750, 0, 0, 0, 0, 0, -750, -750, -750, -750, -750, + -527, 0, 0, -527, 0, -527, 0, -527, 0, 0, -527, -527, 0, -527, -527, 0, -527, 0, 0, 0, 0, 0, -527, -527, -527, 0, -527, 0, 0, -527, 0, -527, 0, 0, 0, 0, -527, 0, -527, 0, 0, 0, 0, 0, 0, -527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 411 - 0, 0, 0, 0, 0, 0, -477, 0, 0, 0, 0, 0, -477, 0, 0, -477, 0, 0, 0, -477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -477, -477, -477, -477, 0, 0, 0, 0, 0, 0, 0, -477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -477, 0, 0, 0, -477, 0, 0, 0, 0, 0, -477, -477, -477, -477, -477, + -362, -362, 0, -362, 0, -362, 0, -362, 0, 0, -362, -362, 0, -362, -362, 0, -362, 0, 0, 0, 0, 0, -362, -362, -362, 0, -362, -362, 0, -362, -362, -362, -362, -362, -362, 0, -362, 0, -362, 0, 0, 0, 0, -362, 35, -362, -362, -362, 0, -362, 0, 0, 0, 0, 0, 0, 0, 0, -362, 0, 0, -362, -362, 0, -362, 0, -362, -362, 0, 0, 0, -362, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362, -362, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 412 - 0, 0, 0, 0, 0, 0, -474, 0, 0, 0, 0, 0, -474, 0, 0, -474, 0, 0, 0, -474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -474, -474, -474, -474, 0, 0, 0, 0, 0, 0, 0, -474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -474, 0, 0, 0, -474, 0, 0, 0, 0, 0, -474, -474, -474, -474, -474, + 0, 0, 0, 0, 0, 0, -877, 0, 0, 0, 0, 0, -877, 0, 0, -877, 0, 0, 0, -877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -877, -877, -877, -877, 0, 0, 0, 0, 0, 0, 0, -877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -877, 0, 0, 0, -877, 0, 0, 0, 0, 0, -877, -877, -877, -877, -877, // State 413 - 0, 0, 0, 0, 0, 0, -475, 0, 0, 0, 0, 0, -475, 0, 0, -475, 0, 0, 0, -475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -475, -475, -475, -475, 0, 0, 0, 0, 0, 0, 0, -475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -475, 0, 0, 0, -475, 0, 0, 0, 0, 0, -475, -475, -475, -475, -475, + 0, 0, 0, 0, 0, 0, -878, 0, 0, 0, 0, 0, -878, 0, 0, -878, 0, 0, 0, -878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -878, -878, -878, -878, 0, 0, 0, 0, 0, 0, 0, -878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -878, 0, 0, 0, -878, 0, 0, 0, 0, 0, -878, -878, -878, -878, -878, // State 414 - 0, 0, 0, 0, 0, 0, -476, 0, 0, 0, 0, 0, -476, 0, 0, -476, 0, 0, 0, -476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -476, -476, -476, -476, 0, 0, 0, 0, 0, 0, 0, -476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -476, 0, 0, 0, -476, 0, 0, 0, 0, 0, -476, -476, -476, -476, -476, + -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, 0, -206, 0, -206, -206, -206, -206, -206, 0, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, 0, 0, 0, -206, -206, -206, -206, -206, -206, 0, -206, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, 0, -206, -206, 0, -206, 0, -206, -206, 0, 0, 0, -206, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, -206, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 415 - 0, 0, 0, 0, 0, 0, -478, 0, 0, 0, 0, 0, -478, 0, 0, -478, 0, 0, 0, -478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -478, -478, -478, -478, 0, 0, 0, 0, 0, 0, 0, -478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -478, 0, 0, 0, -478, 0, 0, 0, 0, 0, -478, -478, -478, -478, -478, + -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, 0, -204, 0, -204, -204, -204, -204, -204, 0, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, 0, 0, 0, -204, -204, -204, -204, -204, -204, 0, -204, 0, 0, 0, 0, 0, 0, 0, 0, -204, 0, 0, -204, -204, 0, -204, 0, -204, -204, 0, 0, 0, -204, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, -204, -204, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 416 - -372, -372, -372, -372, -372, -372, 0, -372, -372, 0, -372, -372, -372, -372, -372, -372, -372, 0, 0, 0, -372, -372, -372, -372, -372, 0, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, 0, 0, 0, 0, -372, -372, -372, -372, -372, 0, -372, 0, 0, 0, 0, 0, 0, 0, 0, -372, 0, 0, -372, -372, 0, -372, 0, -372, -372, 0, 0, 0, -372, -372, 0, 0, 0, 0, 0, 0, 0, 0, -372, -372, -372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, 0, -205, 0, -205, -205, -205, -205, -205, 0, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, 0, 0, 0, -205, -205, -205, -205, -205, -205, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, 0, -205, -205, 0, -205, 0, -205, -205, 0, 0, 0, -205, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205, -205, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 417 - -180, -180, -180, 0, -180, 0, -180, -180, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, -180, 75, 0, -180, -180, 0, -180, 0, -180, -180, -180, -180, 0, -180, 0, 0, 0, 0, -180, -180, -180, 0, -180, -180, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, -180, 0, -180, -180, 0, 0, 0, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, 0, -203, 0, -203, -203, -203, -203, -203, 0, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, 0, 0, 0, -203, -203, -203, -203, -203, -203, 0, -203, 0, 0, 0, 0, 0, 0, 0, 0, -203, 0, 0, -203, -203, 0, -203, 0, -203, -203, 0, 0, 0, -203, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, -203, -203, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 418 - 0, 0, 0, 0, 0, 0, 0, -482, 0, 0, 0, 0, 0, 0, -482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -879, 0, 0, 0, 0, 0, -879, 0, 0, -879, 0, 0, 0, -879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -879, -879, -879, -879, 0, 0, 0, 0, 0, 0, 0, -879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -879, 0, 0, 0, -879, 0, 0, 0, 0, 0, -879, -879, -879, -879, -879, // State 419 - 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, 0, -329, 0, -329, -329, -329, -329, -329, 0, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, 0, 0, 0, -329, -329, -329, -329, -329, -329, 0, -329, 0, 0, 0, 0, 0, 0, 0, 0, -329, 0, 0, -329, -329, 0, -329, 0, -329, -329, 0, 0, 0, -329, -329, 0, 0, 0, 0, 0, 0, 0, 0, 0, -329, -329, -329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 420 - 0, 0, 0, 0, 0, 0, 0, -483, 0, 0, 0, 0, 0, 0, -483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, 0, -328, 0, -328, -328, -328, -328, -328, 0, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, 0, 0, 0, -328, -328, -328, -328, -328, -328, 0, -328, 0, 0, 0, 0, 0, 0, 0, 0, -328, 0, 0, -328, -328, 0, -328, 0, -328, -328, 0, 0, 0, -328, -328, 0, 0, 0, 0, 0, 0, 0, 0, 0, -328, -328, -328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 421 - 0, 0, 0, 0, 0, 0, 0, -513, 0, 0, 0, 0, 0, 0, -513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, 0, -327, 0, -327, -327, -327, -327, -327, 0, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, 0, 0, 0, -327, -327, -327, -327, -327, -327, 0, -327, 0, 0, 0, 0, 0, 0, 0, 0, -327, 0, 0, -327, -327, 0, -327, 0, -327, -327, 0, 0, 0, -327, -327, 0, 0, 0, 0, 0, 0, 0, 0, 0, -327, -327, -327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 422 - 0, 0, 0, 0, 0, 0, 0, 504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, 0, -419, 0, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, -419, 0, 0, 0, -419, -419, -419, -419, -419, -419, 0, -419, 0, 0, 0, 0, 0, 0, 0, 0, -419, 0, 0, -419, -419, 0, -419, -419, -419, -419, 0, 0, 0, -419, -419, 0, 0, 0, 0, 0, 0, 0, 0, 0, -419, -419, -419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 423 - -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, 0, -194, 0, -194, -194, -194, -194, -194, 0, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, 0, 0, 0, -194, -194, -194, -194, -194, -194, 0, -194, 0, 0, 0, 0, 0, 0, 0, 0, -194, 0, 0, -194, -194, 0, -194, 0, -194, -194, 0, 0, 0, -194, -194, 0, 0, 0, 0, 0, 0, 0, 0, -194, -194, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, 0, -136, 0, -136, -136, -136, -136, -136, 0, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, 0, 0, 0, -136, -136, -136, -136, -136, -136, 0, -136, 0, 0, 0, 0, 0, 0, 0, 0, -136, 0, 0, -136, -136, 0, -136, 0, -136, -136, 0, 0, 0, -136, -136, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, -136, -136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, // State 424 - -769, 0, 0, -769, 0, -769, 0, -769, 0, 0, -769, -769, 0, -769, -769, 0, -769, 0, 0, 0, 0, 0, -769, -769, -769, 0, -769, 0, 0, -769, 0, -769, 0, 0, 0, 0, -769, 0, -769, 0, 0, 0, 0, -769, 0, -769, 0, 0, 0, -769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -769, 0, 0, 0, 0, -769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, -769, -769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -535, 0, 0, -535, 0, -535, 0, -535, 0, 0, -535, -535, 0, -535, -535, 0, -535, 0, 0, 0, 0, 0, -535, -535, -535, 0, -535, 0, 0, -535, 0, -535, 0, 0, 0, 0, -535, 0, -535, 0, 0, 0, 0, -535, 0, -535, 0, -535, 0, -535, 0, 0, 0, 0, 0, 0, 0, 0, -535, 0, 0, -535, -535, 0, -535, 0, 0, 0, 0, 0, 0, 0, 511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -535, -535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 425 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -156, 0, 0, -156, 0, -156, 0, -156, 0, 0, -156, -156, 0, -156, -156, 0, -156, 0, 0, 0, 0, 0, -156, -156, -156, 0, -156, 0, 0, -156, 0, -156, 0, 0, 0, 0, -156, 0, -156, 0, 0, 0, 0, -156, 0, -156, 512, -156, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, -156, -156, 0, -156, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -156, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 426 - -480, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, 0, -137, 0, -137, -137, -137, -137, -137, 0, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, 0, 0, 0, -137, -137, -137, -137, -137, -137, 0, -137, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, 0, -137, -137, 0, -137, 0, -137, -137, 0, 0, 0, -137, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, -137, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, // State 427 - 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, 0, -108, 0, 0, -108, 0, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -108, -108, -108, -108, 0, 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, -108, 0, 0, 0, 0, 0, -108, -108, -108, -108, -108, // State 428 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -149, 0, 0, 0, 0, 0, -149, 0, 0, -149, 0, 0, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -149, -149, -149, -149, 0, 0, 0, 0, 0, 0, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -149, 0, 0, 0, -149, 0, 0, 0, 0, 0, -149, -149, -149, -149, -149, // State 429 - 0, 0, 0, 0, 0, 0, 0, -827, 0, 0, 0, 0, 0, 0, -827, 0, 0, 0, 0, 0, 0, 0, 0, 0, -827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -827, 0, 0, 0, 0, 0, -827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -150, 0, 0, 0, 0, 0, -150, 0, 0, -150, 0, 0, 0, -150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -150, -150, -150, -150, 0, 0, 0, 0, 0, 0, 0, -150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -150, 0, 0, 0, -150, 0, 0, 0, 0, 0, -150, -150, -150, -150, -150, // State 430 - -481, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -301, 0, 0, 0, 0, 0, -301, 0, 0, -301, 0, 0, 0, -301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -301, -301, -301, -301, 0, 0, 0, 0, 0, 0, 0, -301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -301, 0, 0, 0, -301, 0, 0, 0, 0, 0, -301, -301, -301, -301, -301, // State 431 - -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, 0, -182, 0, -182, -182, -182, -182, -182, 0, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, 0, 0, 0, -182, -182, -182, -182, -182, -182, 0, -182, 0, 0, 0, 0, 0, 0, 0, 0, -182, 0, 0, -182, -182, 0, -182, 0, -182, -182, 0, 0, 0, -182, -182, 0, 0, 0, 0, 0, 0, 0, 0, -182, -182, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -302, 0, 0, 0, 0, 0, -302, 0, 0, -302, 0, 0, 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, -302, -302, -302, 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, 0, -302, 0, 0, 0, 0, 0, -302, -302, -302, -302, -302, // State 432 - -242, -242, -242, -242, -242, -242, 24, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, 0, 25, 0, -242, -242, -242, -242, -242, 0, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, 0, 0, 0, 26, -242, -242, -242, -242, -242, 0, -242, 0, 0, 0, 0, 0, 0, 0, 0, -242, 0, 0, -242, -242, 0, -242, 0, -242, -242, 0, 0, 0, -242, -242, 0, 0, 0, 0, 0, 0, 0, 0, -242, -242, -242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -303, 0, 0, 0, 0, 0, -303, 0, 0, -303, 0, 0, 0, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -303, -303, -303, -303, 0, 0, 0, 0, 0, 0, 0, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -303, 0, 0, 0, -303, 0, 0, 0, 0, 0, -303, -303, -303, -303, -303, // State 433 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -854, 0, 0, 0, 0, 0, 0, 0, 0, 0, -854, 0, 0, 0, 0, 0, 0, -854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -300, 0, 0, 0, 0, 0, -300, 0, 0, -300, 0, 0, 0, -300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -300, -300, -300, -300, 0, 0, 0, 0, 0, 0, 0, -300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -300, 0, 0, 0, -300, 0, 0, 0, 0, 0, -300, -300, -300, -300, -300, // State 434 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 0, 0, -690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -304, 0, 0, 0, 0, 0, -304, 0, 0, -304, 0, 0, 0, -304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -304, -304, -304, -304, 0, 0, 0, 0, 0, 0, 0, -304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -304, 0, 0, 0, -304, 0, 0, 0, 0, 0, -304, -304, -304, -304, -304, // State 435 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, -664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -305, 0, 0, 0, 0, 0, -305, 0, 0, -305, 0, 0, 0, -305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -305, -305, -305, -305, 0, 0, 0, 0, 0, 0, 0, -305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -305, 0, 0, 0, -305, 0, 0, 0, 0, 0, -305, -305, -305, -305, -305, // State 436 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -509, 0, 0, 0, 0, 0, 0, 0, 0, 0, -509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -306, 0, 0, 0, 0, 0, -306, 0, 0, -306, 0, 0, 0, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -306, -306, -306, -306, 0, 0, 0, 0, 0, 0, 0, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -306, 0, 0, 0, -306, 0, 0, 0, 0, 0, -306, -306, -306, -306, -306, // State 437 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -308, 0, 0, 0, 0, 0, -308, 0, 0, -308, 0, 0, 0, -308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -308, -308, -308, -308, 0, 0, 0, 0, 0, 0, 0, -308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 0, 0, 0, 0, 0, 0, 0, 0, 0, -308, 0, 0, 0, -308, 0, 0, 0, 0, 0, -308, -308, -308, -308, -308, // State 438 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -527, 0, 0, 0, 0, 0, 0, 0, 0, 0, -527, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 439 - -485, 0, 0, -485, 0, -485, 0, -485, 0, 0, -485, -485, 0, -485, -485, 0, -485, 0, 0, 0, 0, 0, -485, -485, -485, 0, -485, 0, 0, -485, 0, -485, 0, 0, 0, 0, -485, 0, -485, 0, 0, 0, 0, -485, 0, -485, -485, -485, 0, -485, 0, 0, 0, 0, 0, 0, 0, 0, -485, 0, 0, -485, -485, 0, -485, 0, 0, 0, 0, 0, 0, 0, -485, 0, 0, 0, 0, 0, 0, 0, 0, 0, -485, -485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 440 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 441 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, 0, 0, -116, 0, 0, -116, 0, 0, 0, -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -116, -116, -116, -116, 0, 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, 0, 0, 0, 0, 0, 0, -116, 0, 0, 0, -116, 0, 0, 0, 0, 0, -116, -116, -116, -116, -116, // State 442 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -763, 0, 0, 0, 0, 0, -763, 0, 0, -763, 0, 0, 0, -763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -763, -763, -763, -763, 0, 0, 0, 0, 0, 0, 0, -763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -763, 0, 0, 0, -763, 0, 0, 0, 0, 0, -763, -763, -763, -763, -763, // State 443 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -764, 0, 0, 0, 0, 0, -764, 0, 0, -764, 0, 0, 0, -764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -764, -764, -764, -764, 0, 0, 0, 0, 0, 0, 0, -764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -764, 0, 0, 0, -764, 0, 0, 0, 0, 0, -764, -764, -764, -764, -764, // State 444 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -489, 0, 0, 0, 0, 0, -489, 0, 0, -489, 0, 0, 0, -489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -489, -489, -489, -489, 0, 0, 0, 0, 0, 0, 0, -489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -489, 0, 0, 0, -489, 0, 0, 0, 0, 0, -489, -489, -489, -489, -489, // State 445 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -486, 0, 0, 0, 0, 0, -486, 0, 0, -486, 0, 0, 0, -486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -486, -486, -486, -486, 0, 0, 0, 0, 0, 0, 0, -486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -486, 0, 0, 0, -486, 0, 0, 0, 0, 0, -486, -486, -486, -486, -486, // State 446 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -487, 0, 0, 0, 0, 0, -487, 0, 0, -487, 0, 0, 0, -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -487, -487, -487, -487, 0, 0, 0, 0, 0, 0, 0, -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -487, 0, 0, 0, -487, 0, 0, 0, 0, 0, -487, -487, -487, -487, -487, // State 447 - -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, 0, -199, 0, -199, -199, -199, -199, -199, 0, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, 0, 0, 0, -199, -199, -199, -199, -199, -199, 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, -199, -199, 0, -199, 0, -199, -199, 0, 0, 0, -199, -199, 0, 0, 0, 0, 0, 0, 0, 0, -199, -199, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -488, 0, 0, 0, 0, 0, -488, 0, 0, -488, 0, 0, 0, -488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -488, -488, -488, -488, 0, 0, 0, 0, 0, 0, 0, -488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -488, 0, 0, 0, -488, 0, 0, 0, 0, 0, -488, -488, -488, -488, -488, // State 448 - -768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -490, 0, 0, 0, 0, 0, -490, 0, 0, -490, 0, 0, 0, -490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -490, -490, -490, -490, 0, 0, 0, 0, 0, 0, 0, -490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -490, 0, 0, 0, -490, 0, 0, 0, 0, 0, -490, -490, -490, -490, -490, // State 449 - -317, 0, 0, 0, 0, 0, -317, 0, -317, 0, 0, 0, -317, 0, 0, -317, 0, 0, 0, -317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -317, 0, -317, -317, -317, -317, 0, 0, 0, 0, 0, -317, -317, -317, -317, 0, -317, -317, -317, -317, 0, 0, 0, 0, -317, -317, -317, -317, -317, 0, 0, -317, -317, -317, -317, 0, -317, -317, -317, -317, -317, -317, -317, -317, 0, 0, 0, -317, -317, 0, 0, 0, 0, -317, -317, -317, -317, -317, + -376, -376, -376, -376, -376, -376, 0, -376, -376, 0, -376, -376, -376, -376, -376, -376, -376, 0, 0, 0, -376, -376, -376, -376, -376, 0, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, -376, 0, 0, 0, 0, -376, -376, -376, -376, -376, 0, -376, 0, 0, 0, 0, 0, 0, 0, 0, -376, 0, 0, -376, -376, 0, -376, 0, -376, -376, 0, 0, 0, -376, -376, 0, 0, 0, 0, 0, 0, 0, 0, 0, -376, -376, -376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 450 - -725, 0, 0, 0, 0, 0, -725, 0, -725, 0, 0, 0, -725, 0, 0, -725, 0, 0, 0, -725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -725, 0, -725, -725, -725, -725, 0, 0, 0, 0, 0, -725, -725, -725, -725, 0, -725, -725, -725, -725, 0, 0, 0, 0, -725, -725, -725, -725, -725, 0, 0, -725, -725, -725, -725, 0, -725, -725, -725, -725, -725, -725, -725, -725, 0, 0, 0, -725, 0, 0, 0, 0, 0, -725, -725, -725, -725, -725, + -180, -180, -180, 0, -180, 0, -180, -180, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, -180, 76, 0, -180, -180, 0, -180, 0, -180, -180, -180, -180, 0, -180, 0, 0, 0, 0, -180, -180, -180, 0, -180, -180, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, -180, 0, -180, -180, 0, 0, 0, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 451 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -332, 0, 0, 0, -332, 0, -332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -494, 0, 0, 0, 0, 0, 0, -494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 452 - -763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 453 - -761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -495, 0, 0, 0, 0, 0, 0, -495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 454 - -764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -525, 0, 0, 0, 0, 0, 0, -525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 455 - -313, 0, 0, 0, 0, 0, -313, 0, -313, 0, 0, 0, -313, 0, 0, -313, 0, 0, 0, -313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -313, 0, -313, -313, -313, -313, 0, 0, 0, 0, 0, -313, -313, -313, -313, 0, -313, -313, -313, -313, 0, 0, 0, 0, -313, -313, -313, -313, -313, 0, 0, -313, -313, -313, -313, 0, -313, -313, -313, -313, -313, -313, -313, -313, 0, 0, 0, -313, -313, 0, 0, 0, 0, -313, -313, -313, -313, -313, + 0, 0, 0, 0, 0, 0, 0, 538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 456 - -316, 0, 0, 0, 0, 0, -316, 0, -316, 0, 0, 0, -316, 0, 0, -316, 0, 0, 0, -316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -316, 0, -316, -316, -316, -316, 0, 0, 0, 0, 0, -316, -316, -316, -316, 0, -316, -316, -316, -316, 0, 0, 0, 0, -316, -316, -316, -316, -316, 0, 0, -316, -316, -316, -316, 0, -316, -316, -316, -316, -316, -316, -316, -316, 0, 0, 0, -316, -316, 0, 0, 0, 0, -316, -316, -316, -316, -316, + -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, 0, -194, 0, -194, -194, -194, -194, -194, 0, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, 0, 0, 0, -194, -194, -194, -194, -194, -194, 0, -194, 0, 0, 0, 0, 0, 0, 0, 0, -194, 0, 0, -194, -194, 0, -194, 0, -194, -194, 0, 0, 0, -194, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, -194, -194, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 457 - -766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -784, 0, 0, -784, 0, -784, 0, -784, 0, 0, -784, -784, 0, -784, -784, 0, -784, 0, 0, 0, 0, 0, -784, -784, -784, 0, -784, 0, 0, -784, 0, -784, 0, 0, 0, 0, -784, 0, -784, 0, 0, 0, 0, -784, 0, -784, 0, 0, 0, -784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -784, 0, 0, 0, 0, -784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, -784, -784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 458 - -311, 0, 0, 0, 0, 0, -311, 0, -311, 0, 0, 0, -311, 0, 0, -311, 0, 0, 0, -311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -311, 0, -311, -311, -311, -311, 0, 0, 0, 0, 0, -311, -311, -311, -311, 0, -311, -311, -311, -311, 0, 0, 0, 0, -311, -311, -311, -311, -311, 0, 0, -311, -311, -311, -311, 0, -311, -311, -311, -311, -311, -311, -311, -311, 0, 0, 0, -311, -311, 0, 0, 0, 0, -311, -311, -311, -311, -311, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 459 - -765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -492, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 460 - -310, 0, 0, 0, 0, 0, -310, 0, -310, 0, 0, 0, -310, 0, 0, -310, 0, 0, 0, -310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -310, 0, -310, -310, -310, -310, 0, 0, 0, 0, 0, -310, -310, -310, -310, 0, -310, -310, -310, -310, 0, 0, 0, 0, -310, -310, -310, -310, -310, 0, 0, -310, -310, -310, -310, 0, -310, -310, -310, -310, -310, -310, -310, -310, 0, 0, 0, -310, -310, 0, 0, 0, 0, -310, -310, -310, -310, -310, + 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 461 - -767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 462 - -762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 463 - -381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -493, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 464 - 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, 0, -182, 0, -182, -182, -182, -182, -182, 0, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, 0, 0, 0, -182, -182, -182, -182, -182, -182, 0, -182, 0, 0, 0, 0, 0, 0, 0, 0, -182, 0, 0, -182, -182, 0, -182, 0, -182, -182, 0, 0, 0, -182, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, -182, -182, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 465 - -823, 0, 0, -823, 0, -823, 0, 0, 0, 0, -823, -823, 0, -823, -823, 0, -823, 0, 0, 0, 0, 0, -823, -823, 95, 0, -823, 0, 0, -823, 0, -823, 0, 0, 0, 0, -823, 0, -823, 0, 0, 0, 0, 0, 0, -823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -242, -242, -242, -242, -242, -242, 24, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, 0, 25, 0, -242, -242, -242, -242, -242, 0, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, 0, 0, 0, 26, -242, -242, -242, -242, -242, 0, -242, 0, 0, 0, 0, 0, 0, 0, 0, -242, 0, 0, -242, -242, 0, -242, 0, -242, -242, 0, 0, 0, -242, -242, 0, 0, 0, 0, 0, 0, 0, 0, 0, -242, -242, -242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 466 - -314, 0, 0, 0, 0, 0, -314, 0, -314, 0, 0, 0, -314, 0, 0, -314, 0, 0, 0, -314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -314, 0, -314, -314, -314, -314, 0, 0, 0, 0, 0, -314, -314, -314, -314, 0, -314, -314, -314, -314, 0, 0, 0, 0, -314, -314, -314, -314, -314, 0, 0, -314, -314, -314, -314, 0, -314, -314, -314, -314, -314, -314, -314, -314, 0, 0, 0, -314, -314, 0, 0, 0, 0, -314, -314, -314, -314, -314, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -880, 0, 0, 0, 0, 0, 0, 0, 0, 0, -880, 0, 0, 0, 0, 0, 0, -880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 467 - -312, 0, 0, 0, 0, 0, -312, 0, -312, 0, 0, 0, -312, 0, 0, -312, 0, 0, 0, -312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -312, 0, -312, -312, -312, -312, 0, 0, 0, 0, 0, -312, -312, -312, -312, 0, -312, -312, -312, -312, 0, 0, 0, 0, -312, -312, -312, -312, -312, 0, 0, -312, -312, -312, -312, 0, -312, -312, -312, -312, -312, -312, -312, -312, 0, 0, 0, -312, -312, 0, 0, 0, 0, -312, -312, -312, -312, -312, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 0, 0, 0, 0, 0, 0, 0, 0, 0, -704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 468 - -315, 0, 0, 0, 0, 0, -315, 0, -315, 0, 0, 0, -315, 0, 0, -315, 0, 0, 0, -315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -315, 0, -315, -315, -315, -315, 0, 0, 0, 0, 0, -315, -315, -315, -315, 0, -315, -315, -315, -315, 0, 0, 0, 0, -315, -315, -315, -315, -315, 0, 0, -315, -315, -315, -315, 0, -315, -315, -315, -315, -315, -315, -315, -315, 0, 0, 0, -315, -315, 0, 0, 0, 0, -315, -315, -315, -315, -315, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, -678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 469 - -380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -521, 0, 0, 0, 0, 0, 0, 0, 0, 0, -521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 470 - -730, 0, 0, 0, 0, 0, -730, 0, -730, 0, 0, 0, -730, 0, 0, -730, 0, 0, 0, -730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -730, 0, -730, -730, -730, -730, 0, 0, 0, 0, 0, -730, -730, -730, -730, 0, -730, -730, -730, -730, 0, 0, 0, 0, -730, -730, -730, -730, -730, 0, 0, -730, -730, -730, -730, 0, -730, -730, -730, -730, -730, -730, -730, -730, 0, 0, 0, -730, 0, 0, 0, 0, 0, -730, -730, -730, -730, -730, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 471 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -541, 0, 0, 0, 0, 0, 0, 0, 0, 0, -541, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 472 - -376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -497, 0, 0, -497, 0, -497, 0, -497, 0, 0, -497, -497, 0, -497, -497, 0, -497, 0, 0, 0, 0, 0, -497, -497, -497, 0, -497, 0, 0, -497, 0, -497, 0, 0, 0, 0, -497, 0, -497, 0, 0, 0, 0, -497, 0, -497, -497, -497, 0, -497, 0, 0, 0, 0, 0, 0, 0, 0, -497, 0, 0, -497, -497, 0, -497, 0, 0, 0, 0, 0, 0, 0, -497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -497, -497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 473 - -377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 474 - -711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 475 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 476 - 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, -109, 0, 0, -109, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -109, -109, -109, -109, 0, 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, -109, 0, 0, 0, 0, 0, -109, -109, -109, -109, -109, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 477 - 0, 0, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, -117, 0, 0, -117, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, -117, -117, -117, 0, 0, 0, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, -117, 0, 0, 0, -117, 0, 0, 0, 0, 0, -117, -117, -117, -117, -117, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 478 - 0, 0, 0, 0, 0, 0, 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 479 - 0, 0, 0, 0, 0, 0, 0, -160, 0, 0, 0, 0, 0, 0, 599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 480 - 0, -180, -180, 0, -180, 0, -180, -180, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, 0, 75, 0, -180, -180, 0, -180, 116, -180, -180, -180, -180, 0, -180, 0, 0, 0, 0, -180, 0, -180, 0, -180, 0, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, -180, 0, -180, -180, 0, 0, 0, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, 0, -199, 0, -199, -199, -199, -199, -199, 0, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, 0, 0, 0, -199, -199, -199, -199, -199, -199, 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, -199, -199, 0, -199, 0, -199, -199, 0, 0, 0, -199, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, -199, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 481 - -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, 0, -237, 0, -237, -237, -237, -237, -237, 0, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, 0, 0, 0, -237, -237, -237, -237, -237, -237, 0, -237, 0, 0, 0, 0, 0, 0, 0, 0, -237, 0, 0, -237, -237, 0, -237, 0, -237, -237, 0, 0, 0, -237, -237, 0, 0, 0, 0, 0, 0, 0, 0, -237, -237, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 482 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -321, 0, 0, 0, 0, 0, -321, 0, -321, 0, 0, 0, -321, 0, 0, -321, 0, 0, 0, -321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -321, 0, -321, -321, -321, -321, 0, 0, 0, 0, 0, -321, -321, -321, -321, 0, -321, -321, -321, -321, 0, 0, 0, 0, -321, -321, -321, -321, -321, 0, 0, -321, -321, -321, -321, 0, -321, -321, -321, -321, -321, -321, -321, -321, -321, 0, 0, 0, -321, -321, 0, 0, 0, 0, -321, -321, -321, -321, -321, // State 483 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -739, 0, 0, 0, 0, 0, -739, 0, -739, 0, 0, 0, -739, 0, 0, -739, 0, 0, 0, -739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -739, 0, -739, -739, -739, -739, 0, 0, 0, 0, 0, -739, -739, -739, -739, 0, -739, -739, -739, -739, 0, 0, 0, 0, -739, -739, -739, -739, -739, 0, 0, -739, -739, -739, -739, 0, -739, -739, -739, -739, -739, -739, -739, -739, -739, 0, 0, 0, -739, 0, 0, 0, 0, 0, -739, -739, -739, -739, -739, // State 484 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -336, 0, 0, 0, -336, 0, -336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 485 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 486 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 487 - -720, -720, -720, -720, -720, -720, 0, -720, -720, 0, -720, -720, -720, -720, -720, -720, -720, 0, 0, 0, -720, -720, -720, -720, -720, 0, -720, -720, -720, -720, -720, -720, -720, -720, -720, -720, -720, -720, -720, 0, 0, 0, 0, -720, -720, -720, -720, -720, 0, -720, 0, 0, 0, 0, 0, 0, 0, 0, -720, 0, 0, -720, -720, 0, -720, 0, -720, -720, 0, 0, 0, -720, -720, 0, 0, 0, 0, 0, 0, 0, 0, -720, -720, -720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 488 - -139, -139, 0, -139, 0, -139, 0, -139, 0, 0, -139, -139, 0, -139, -139, 0, -139, 0, 0, 0, 0, 0, -139, -139, -139, 0, -139, -139, 0, -139, -139, -139, -139, -139, -139, 0, -139, 0, -139, 0, 0, 0, 0, -139, 0, -139, -139, -139, 0, -139, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, -139, -139, 0, -139, 0, -139, -139, 0, 0, 0, -139, -139, 0, 0, 0, 0, 0, 0, 0, 0, 30, -139, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -317, 0, 0, 0, 0, 0, -317, 0, -317, 0, 0, 0, -317, 0, 0, -317, 0, 0, 0, -317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -317, 0, -317, -317, -317, -317, 0, 0, 0, 0, 0, -317, -317, -317, -317, 0, -317, -317, -317, -317, 0, 0, 0, 0, -317, -317, -317, -317, -317, 0, 0, -317, -317, -317, -317, 0, -317, -317, -317, -317, -317, -317, -317, -317, -317, 0, 0, 0, -317, -317, 0, 0, 0, 0, -317, -317, -317, -317, -317, // State 489 - 0, 0, 0, 0, 0, 0, -305, 0, 0, 0, 0, 0, -305, 0, 0, -305, 0, 0, 0, -305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -305, -305, -305, -305, 0, 0, 0, 0, 0, 0, 0, -305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -305, 0, 0, 0, -305, 0, 0, 0, 0, 0, -305, -305, -305, -305, -305, + -320, 0, 0, 0, 0, 0, -320, 0, -320, 0, 0, 0, -320, 0, 0, -320, 0, 0, 0, -320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -320, 0, -320, -320, -320, -320, 0, 0, 0, 0, 0, -320, -320, -320, -320, 0, -320, -320, -320, -320, 0, 0, 0, 0, -320, -320, -320, -320, -320, 0, 0, -320, -320, -320, -320, 0, -320, -320, -320, -320, -320, -320, -320, -320, -320, 0, 0, 0, -320, -320, 0, 0, 0, 0, -320, -320, -320, -320, -320, // State 490 - 0, 0, 0, 0, 0, 0, -303, 0, 0, 0, 0, 0, -303, 0, 0, -303, 0, 0, 0, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -303, -303, -303, -303, 0, 0, 0, 0, 0, 0, 0, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -303, 0, 0, 0, -303, 0, 0, 0, 0, 0, -303, -303, -303, -303, -303, + -780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 491 - -357, -357, 0, -357, 0, -357, 0, -357, 0, 0, -357, -357, 0, -357, -357, 0, -357, 0, 0, 0, 0, 0, -357, -357, -357, 0, -357, -357, 0, -357, -357, -357, -357, -357, -357, 0, -357, 0, -357, 0, 0, 0, 0, -357, 35, -357, -357, -357, 0, -357, 0, 0, 0, 0, 0, 0, 0, 0, -357, 0, 0, -357, -357, 0, -357, 0, -357, -357, 0, 0, 0, -357, -357, 0, 0, 0, 0, 0, 0, 0, 0, -357, -357, -357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -315, 0, 0, 0, 0, 0, -315, 0, -315, 0, 0, 0, -315, 0, 0, -315, 0, 0, 0, -315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -315, 0, -315, -315, -315, -315, 0, 0, 0, 0, 0, -315, -315, -315, -315, 0, -315, -315, -315, -315, 0, 0, 0, 0, -315, -315, -315, -315, -315, 0, 0, -315, -315, -315, -315, 0, -315, -315, -315, -315, -315, -315, -315, -315, -315, 0, 0, 0, -315, -315, 0, 0, 0, 0, -315, -315, -315, -315, -315, // State 492 - -89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 493 - -516, 0, 0, -516, 0, -516, 0, -516, 0, 0, -516, -516, 0, -516, -516, 0, -516, 0, 0, 0, 0, 0, -516, -516, -516, 0, -516, 0, 0, -516, 0, -516, 0, 0, 0, 0, -516, 0, -516, 0, 0, 0, 0, 0, 0, -516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -314, 0, 0, 0, 0, 0, -314, 0, -314, 0, 0, 0, -314, 0, 0, -314, 0, 0, 0, -314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -314, 0, -314, -314, -314, -314, 0, 0, 0, 0, 0, -314, -314, -314, -314, 0, -314, -314, -314, -314, 0, 0, 0, 0, -314, -314, -314, -314, -314, 0, 0, -314, -314, -314, -314, 0, -314, -314, -314, -314, -314, -314, -314, -314, -314, 0, 0, 0, -314, -314, 0, 0, 0, 0, -314, -314, -314, -314, -314, // State 494 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 495 - -806, -806, -806, -806, -806, -806, 0, -806, -806, 0, -806, -806, -806, -806, -806, -806, -806, 0, 0, 0, -806, -806, -806, -806, -806, 0, -806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -806, -806, 0, 0, 0, 0, -806, -806, -806, -806, -806, 0, -806, 0, 0, 0, 0, 0, 0, 0, 0, -806, 0, 0, -806, -806, 0, -806, 0, -806, -806, 0, 0, 0, -806, -806, 0, 0, 0, 0, 0, 0, 0, 0, -806, -806, -806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 496 - -878, -878, 0, -878, 22, -878, 0, -878, 0, 0, -878, -878, 0, -878, -878, 0, -878, 0, 0, 0, 0, 0, -878, -878, -878, 0, -878, -878, 0, -878, -878, -878, -878, -878, -878, 0, -878, 0, -878, 0, 0, 0, 0, -878, -878, -878, -878, -878, 0, -878, 0, 0, 0, 0, 0, 0, 0, 0, -878, 0, 0, -878, -878, 0, -878, 0, -878, -878, 0, 0, 0, -878, -878, 0, 0, 0, 0, 0, 0, 0, 0, -878, -878, -878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 497 - 0, 0, 0, 0, 0, 0, 0, 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 498 - 0, 0, 0, 0, 0, 0, 0, -755, 0, 0, 0, 0, 0, 0, -755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -755, 0, 0, 0, 0, 0, -755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -838, 0, 0, -838, 0, -838, 0, 0, 0, 0, -838, -838, 0, -838, -838, 0, -838, 0, 0, 0, 0, 0, -838, -838, 96, 0, -838, 0, 0, -838, 0, -838, 0, 0, 0, 0, -838, 0, -838, 0, 0, 0, 0, 0, 0, -838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 499 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -318, 0, 0, 0, 0, 0, -318, 0, -318, 0, 0, 0, -318, 0, 0, -318, 0, 0, 0, -318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -318, 0, -318, -318, -318, -318, 0, 0, 0, 0, 0, -318, -318, -318, -318, 0, -318, -318, -318, -318, 0, 0, 0, 0, -318, -318, -318, -318, -318, 0, 0, -318, -318, -318, -318, 0, -318, -318, -318, -318, -318, -318, -318, -318, -318, 0, 0, 0, -318, -318, 0, 0, 0, 0, -318, -318, -318, -318, -318, // State 500 - 0, 0, 0, 0, 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 501 - -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, 0, -191, 0, -191, -191, -191, -191, -191, 0, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, 0, 0, 0, -191, -191, -191, -191, -191, -191, 0, -191, 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, 0, -191, -191, 0, -191, 0, -191, -191, 0, 0, 0, -191, -191, 0, 0, 0, 0, 0, 0, 0, 0, -191, -191, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -316, 0, 0, 0, 0, 0, -316, 0, -316, 0, 0, 0, -316, 0, 0, -316, 0, 0, 0, -316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -316, 0, -316, -316, -316, -316, 0, 0, 0, 0, 0, -316, -316, -316, -316, 0, -316, -316, -316, -316, 0, 0, 0, 0, -316, -316, -316, -316, -316, 0, 0, -316, -316, -316, -316, 0, -316, -316, -316, -316, -316, -316, -316, -316, -316, 0, 0, 0, -316, -316, 0, 0, 0, 0, -316, -316, -316, -316, -316, // State 502 - -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, 0, -185, 0, -185, -185, -185, -185, -185, 0, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, 0, 0, 0, -185, -185, -185, -185, -185, -185, 0, -185, 0, 0, 0, 0, 0, 0, 0, 0, -185, 0, 0, -185, -185, 0, -185, 0, -185, -185, 0, 0, 0, -185, -185, 0, 0, 0, 0, 0, 0, 0, 0, -185, -185, -185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -319, 0, 0, 0, 0, 0, -319, 0, -319, 0, 0, 0, -319, 0, 0, -319, 0, 0, 0, -319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -319, 0, -319, -319, -319, -319, 0, 0, 0, 0, 0, -319, -319, -319, -319, 0, -319, -319, -319, -319, 0, 0, 0, 0, -319, -319, -319, -319, -319, 0, 0, -319, -319, -319, -319, 0, -319, -319, -319, -319, -319, -319, -319, -319, -319, 0, 0, 0, -319, -319, 0, 0, 0, 0, -319, -319, -319, -319, -319, // State 503 - -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, 0, -195, 0, -195, -195, -195, -195, -195, 0, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, 0, 0, 0, -195, -195, -195, -195, -195, -195, 0, -195, 0, 0, 0, 0, 0, 0, 0, 0, -195, 0, 0, -195, -195, 0, -195, 0, -195, -195, 0, 0, 0, -195, -195, 0, 0, 0, 0, 0, 0, 0, 0, -195, -195, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 504 - 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -744, 0, 0, 0, 0, 0, -744, 0, -744, 0, 0, 0, -744, 0, 0, -744, 0, 0, 0, -744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -744, 0, -744, -744, -744, -744, 0, 0, 0, 0, 0, -744, -744, -744, -744, 0, -744, -744, -744, -744, 0, 0, 0, 0, -744, -744, -744, -744, -744, 0, 0, -744, -744, -744, -744, 0, -744, -744, -744, -744, -744, -744, -744, -744, -744, 0, 0, 0, -744, 0, 0, 0, 0, 0, -744, -744, -744, -744, -744, // State 505 - -882, 0, 0, 0, 0, 0, 0, -882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -882, 0, 0, 0, 0, -882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 506 - -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, 0, -181, 0, -181, -181, -181, -181, -181, 0, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, 0, 0, 0, -181, -181, -181, -181, -181, -181, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, 0, -181, -181, 0, -181, 0, -181, -181, 0, 0, 0, -181, -181, 0, 0, 0, 0, 0, 0, 0, 0, -181, -181, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 507 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 508 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 509 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, -688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 510 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -775, 0, 0, 0, 0, 0, 0, 0, 0, 0, -775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, -109, 0, 0, -109, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -109, -109, -109, -109, 0, 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, -109, 0, 0, 0, 0, 0, -109, -109, -109, -109, -109, // State 511 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -433, 0, 0, 0, 0, 0, 0, 0, 0, 0, -433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, -117, 0, 0, -117, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, -117, -117, -117, 0, 0, 0, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117, 0, 0, 0, -117, 0, 0, 0, 0, 0, -117, -117, -117, -117, -117, // State 512 - -436, 0, 0, -436, 0, -436, 0, -436, 0, 0, -436, -436, 0, -436, -436, 0, -436, 0, 0, 0, 0, 0, -436, -436, -436, 0, -436, 0, 0, -436, 0, -436, 0, 0, 0, 0, -436, 0, -436, 0, 0, 0, 0, -436, 0, -436, 0, -436, 0, -436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -436, -436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -436, -436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 513 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -160, 0, 0, 0, 0, 0, 0, 633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 514 - -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, 0, -198, 0, -198, -198, -198, -198, -198, 0, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, 0, 0, 0, -198, -198, -198, -198, -198, -198, 0, -198, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, -198, -198, 0, -198, 0, -198, -198, 0, 0, 0, -198, -198, 0, 0, 0, 0, 0, 0, 0, 0, -198, -198, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -180, -180, 0, -180, 0, -180, -180, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, 0, 76, 0, -180, -180, 0, -180, 119, -180, -180, -180, -180, 0, -180, 0, 0, 0, 0, -180, 0, -180, 0, -180, 0, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, -180, 0, -180, -180, 0, 0, 0, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 515 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, 0, -237, 0, -237, -237, -237, -237, -237, 0, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, 0, 0, 0, -237, -237, -237, -237, -237, -237, 0, -237, 0, 0, 0, 0, 0, 0, 0, 0, -237, 0, 0, -237, -237, 0, -237, 0, -237, -237, 0, 0, 0, -237, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, -237, -237, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 516 - -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, 0, -201, 0, -201, -201, -201, -201, -201, 0, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, 0, 0, 0, -201, -201, -201, -201, -201, -201, 0, -201, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, 0, -201, -201, 0, -201, 0, -201, -201, 0, 0, 0, -201, -201, 0, 0, 0, 0, 0, 0, 0, 0, -201, -201, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 517 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, -336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 518 - 633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 519 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -333, 0, 0, 0, -333, 0, -333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 520 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 521 - -174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -174, 0, 0, 0, 0, -174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -734, -734, -734, -734, -734, -734, 0, -734, -734, 0, -734, -734, -734, -734, -734, -734, -734, 0, 0, 0, -734, -734, -734, -734, -734, 0, -734, -734, -734, -734, -734, -734, -734, -734, -734, -734, -734, -734, -734, 0, 0, 0, 0, -734, -734, -734, -734, -734, 0, -734, 0, 0, 0, 0, 0, 0, 0, 0, -734, 0, 0, -734, -734, 0, -734, 0, -734, -734, 0, 0, 0, -734, -734, 0, 0, 0, 0, 0, 0, 0, 0, 0, -734, -734, -734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 522 - 0, 0, 0, 0, 0, 0, -251, 0, -251, 0, 0, 0, -251, 0, 0, -251, 0, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -251, -251, -251, -251, 0, 0, 0, 0, 0, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -251, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, -251, -251, 0, 0, 0, -251, 0, 0, 0, 0, 0, -251, -251, -251, -251, -251, + -139, -139, 0, -139, 0, -139, 0, -139, 0, 0, -139, -139, 0, -139, -139, 0, -139, 0, 0, 0, 0, 0, -139, -139, -139, 0, -139, -139, 0, -139, -139, -139, -139, -139, -139, 0, -139, 0, -139, 0, 0, 0, 0, -139, 0, -139, -139, -139, 0, -139, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, -139, -139, 0, -139, 0, -139, -139, 0, 0, 0, -139, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, -139, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 523 - 0, 0, 0, 0, 0, 0, -252, 0, -252, 0, 0, 0, -252, 0, 0, -252, 0, 0, 0, -252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -252, -252, -252, -252, 0, 0, 0, 0, 0, 0, 0, -252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -252, 0, 0, -252, 0, 0, 0, 0, 0, 0, 0, -252, -252, 0, 0, 0, -252, 0, 0, 0, 0, 0, -252, -252, -252, -252, -252, + 0, 0, 0, 0, 0, 0, -309, 0, 0, 0, 0, 0, -309, 0, 0, -309, 0, 0, 0, -309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -309, -309, -309, -309, 0, 0, 0, 0, 0, 0, 0, -309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -309, 0, 0, 0, -309, 0, 0, 0, 0, 0, -309, -309, -309, -309, -309, // State 524 - 0, 0, 0, 0, 0, 0, -257, 0, -257, 0, 0, 0, -257, 0, 0, -257, 0, 0, 0, -257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -257, -257, -257, -257, 0, 0, 0, 0, 0, 0, 0, -257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -257, 0, 0, -257, 0, 0, 0, 0, 0, 0, 0, -257, -257, 0, 0, 0, -257, 0, 0, 0, 0, 0, -257, -257, -257, -257, -257, + 0, 0, 0, 0, 0, 0, -307, 0, 0, 0, 0, 0, -307, 0, 0, -307, 0, 0, 0, -307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -307, -307, -307, -307, 0, 0, 0, 0, 0, 0, 0, -307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -307, 0, 0, 0, -307, 0, 0, 0, 0, 0, -307, -307, -307, -307, -307, // State 525 - 0, 0, 0, 0, 0, 0, -248, 0, -248, 0, 0, 0, -248, 0, 0, -248, 0, 0, 0, -248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -248, -248, -248, -248, 0, 0, 0, 0, 0, 0, 0, -248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -248, 0, 0, -248, 0, 0, 0, 0, 0, 0, 0, -248, -248, 0, 0, 0, -248, 0, 0, 0, 0, 0, -248, -248, -248, -248, -248, + -361, -361, 0, -361, 0, -361, 0, -361, 0, 0, -361, -361, 0, -361, -361, 0, -361, 0, 0, 0, 0, 0, -361, -361, -361, 0, -361, -361, 0, -361, -361, -361, -361, -361, -361, 0, -361, 0, -361, 0, 0, 0, 0, -361, 35, -361, -361, -361, 0, -361, 0, 0, 0, 0, 0, 0, 0, 0, -361, 0, 0, -361, -361, 0, -361, 0, -361, -361, 0, 0, 0, -361, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, -361, -361, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 526 - 0, 0, 0, 0, 0, 0, -246, 0, -246, 0, 0, 0, -246, 0, 0, -246, 0, 0, 0, -246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -246, -246, -246, -246, 0, 0, 0, 0, 0, 0, 0, -246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -246, 0, 0, -246, 0, 0, 0, 0, 0, 0, 0, -246, -246, 0, 0, 0, -246, 0, 0, 0, 0, 0, -246, -246, -246, -246, -246, + -89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 527 - 0, 0, 0, 0, 0, 0, -247, 0, -247, 0, 0, 0, -247, 0, 0, -247, 0, 0, 0, -247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -247, -247, -247, -247, 0, 0, 0, 0, 0, 0, 0, -247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -247, 0, 0, -247, 0, 0, 0, 0, 0, 0, 0, -247, -247, 0, 0, 0, -247, 0, 0, 0, 0, 0, -247, -247, -247, -247, -247, + -528, 0, 0, -528, 0, -528, 0, -528, 0, 0, -528, -528, 0, -528, -528, 0, -528, 0, 0, 0, 0, 0, -528, -528, -528, 0, -528, 0, 0, -528, 0, -528, 0, 0, 0, 0, -528, 0, -528, 0, 0, 0, 0, 0, 0, -528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 528 - 0, 0, 0, 0, 0, 0, -258, 0, -258, 0, 0, 0, -258, 0, 0, -258, 0, 0, 0, -258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -258, -258, -258, -258, 0, 0, 0, 0, 0, 0, 0, -258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -258, 0, 0, -258, 0, 0, 0, 0, 0, 0, 0, -258, -258, 0, 0, 0, -258, 0, 0, 0, 0, 0, -258, -258, -258, -258, -258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 529 - 0, 0, 0, 0, 0, 0, -250, 0, -250, 0, 0, 0, -250, 0, 0, -250, 0, 0, 0, -250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -250, -250, -250, -250, 0, 0, 0, 0, 0, 0, 0, -250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -250, 0, 0, -250, 0, 0, 0, 0, 0, 0, 0, -250, -250, 0, 0, 0, -250, 0, 0, 0, 0, 0, -250, -250, -250, -250, -250, + -821, -821, -821, -821, -821, -821, 0, -821, -821, 0, -821, -821, -821, -821, -821, -821, -821, 0, 0, 0, -821, -821, -821, -821, -821, 0, -821, -821, -821, -821, -821, -821, -821, -821, -821, -821, -821, -821, -821, 0, 0, 0, 0, -821, -821, -821, -821, -821, 0, -821, 0, 0, 0, 0, 0, 0, 0, 0, -821, 0, 0, -821, -821, 0, -821, 0, -821, -821, 0, 0, 0, -821, -821, 0, 0, 0, 0, 0, 0, 0, 0, 0, -821, -821, -821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 530 - 0, 0, 0, 0, 0, 0, -255, 0, -255, 0, 0, 0, -255, 0, 0, -255, 0, 0, 0, -255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -255, -255, -255, -255, 0, 0, 0, 0, 0, 0, 0, -255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -255, 0, 0, -255, 0, 0, 0, 0, 0, 0, 0, -255, -255, 0, 0, 0, -255, 0, 0, 0, 0, 0, -255, -255, -255, -255, -255, + -904, -904, 0, -904, 22, -904, 0, -904, 0, 0, -904, -904, 0, -904, -904, 0, -904, 0, 0, 0, 0, 0, -904, -904, -904, 0, -904, -904, 0, -904, -904, -904, -904, -904, -904, 0, -904, 0, -904, 0, 0, 0, 0, -904, -904, -904, -904, -904, 0, -904, 0, 0, 0, 0, 0, 0, 0, 0, -904, 0, 0, -904, -904, 0, -904, 0, -904, -904, 0, 0, 0, -904, -904, 0, 0, 0, 0, 0, 0, 0, 0, 0, -904, -904, -904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 531 - 0, 0, 0, 0, 0, 0, -256, 0, -256, 0, 0, 0, -256, 0, 0, -256, 0, 0, 0, -256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256, -256, -256, -256, 0, 0, 0, 0, 0, 0, 0, -256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256, 0, 0, -256, 0, 0, 0, 0, 0, 0, 0, -256, -256, 0, 0, 0, -256, 0, 0, 0, 0, 0, -256, -256, -256, -256, -256, + 0, 0, 0, 0, 0, 0, 0, 641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 532 - 0, 0, 0, 0, 0, 0, -249, 0, -249, 0, 0, 0, -249, 0, 0, -249, 0, 0, 0, -249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -249, -249, -249, -249, 0, 0, 0, 0, 0, 0, 0, -249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -249, 0, 0, -249, 0, 0, 0, 0, 0, 0, 0, -249, -249, 0, 0, 0, -249, 0, 0, 0, 0, 0, -249, -249, -249, -249, -249, + 0, 0, 0, 0, 0, 0, 0, -769, 0, 0, 0, 0, 0, 0, -769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -769, 0, 0, 0, 0, 0, -769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 533 - 0, 0, 0, 0, 0, 0, -254, 0, -254, 0, 0, 0, -254, 0, 0, -254, 0, 0, 0, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -254, -254, -254, -254, 0, 0, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -254, 0, 0, -254, 0, 0, 0, 0, 0, 0, 0, -254, -254, 0, 0, 0, -254, 0, 0, 0, 0, 0, -254, -254, -254, -254, -254, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 534 - 0, 0, 0, 0, 0, 0, -253, 0, -253, 0, 0, 0, -253, 0, 0, -253, 0, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -253, -253, -253, -253, 0, 0, 0, 0, 0, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -253, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, -253, -253, 0, 0, 0, -253, 0, 0, 0, 0, 0, -253, -253, -253, -253, -253, + 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 535 - -728, 0, 0, 0, 0, 0, -728, 0, -728, 0, 0, 0, -728, 0, 0, -728, 0, 0, 0, -728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -728, 0, -728, -728, -728, -728, 0, 0, 0, 0, 0, -728, -728, -728, -728, 0, -728, -728, -728, -728, 0, 0, 0, 0, -728, -728, -728, -728, -728, 0, 0, -728, -728, -728, -728, 0, -728, -728, -728, -728, -728, -728, -728, -728, 0, 0, 0, -728, 0, 0, 0, 0, 0, -728, -728, -728, -728, -728, + -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, 0, -191, 0, -191, -191, -191, -191, -191, 0, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, 0, 0, 0, -191, -191, -191, -191, -191, -191, 0, -191, 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, 0, -191, -191, 0, -191, 0, -191, -191, 0, 0, 0, -191, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, -191, -191, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 536 - 641, 0, 0, 0, 0, 0, -129, 0, -129, 0, 0, 0, -129, 0, 0, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, -129, -129, -129, 0, 0, 0, 0, 0, -129, 0, -129, -129, 0, 0, -129, 0, -129, 0, 0, 0, 0, 0, -129, -129, 0, -129, 0, 0, -129, 0, -129, -129, 0, -129, -129, -129, 0, 0, 0, -129, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, -129, -129, -129, -129, -129, + -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, 0, -185, 0, -185, -185, -185, -185, -185, 0, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, 0, 0, 0, -185, -185, -185, -185, -185, -185, 0, -185, 0, 0, 0, 0, 0, 0, 0, 0, -185, 0, 0, -185, -185, 0, -185, 0, -185, -185, 0, 0, 0, -185, -185, 0, 0, 0, 0, 0, 0, 0, 0, 0, -185, -185, -185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 537 - 642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, 0, -195, 0, -195, -195, -195, -195, -195, 0, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, 0, 0, 0, -195, -195, -195, -195, -195, -195, 0, -195, 0, 0, 0, 0, 0, 0, 0, 0, -195, 0, 0, -195, -195, 0, -195, 0, -195, -195, 0, 0, 0, -195, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, -195, -195, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 538 - -170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 539 - 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -908, 0, 0, 0, 0, 0, 0, -908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -908, 0, 0, 0, 0, -908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 540 - -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, 0, -181, 0, -181, -181, -181, -181, -181, 0, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, 0, 0, 0, -181, -181, -181, -181, -181, -181, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, 0, -181, -181, 0, -181, 0, -181, -181, 0, 0, 0, -181, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, -181, -181, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 541 - -334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 542 - -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 543 - -363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, -702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 544 - -366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -790, 0, 0, 0, 0, 0, 0, 0, 0, 0, -790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 545 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 546 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -448, 0, 0, -448, 0, -448, 0, -448, 0, 0, -448, -448, 0, -448, -448, 0, -448, 0, 0, 0, 0, 0, -448, -448, -448, 0, -448, 0, 0, -448, 0, -448, 0, 0, 0, 0, -448, 0, -448, 0, 0, 0, 0, -448, 0, -448, 0, -448, 0, -448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -448, -448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -448, -448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 547 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 548 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, 0, -198, 0, -198, -198, -198, -198, -198, 0, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, 0, 0, 0, -198, -198, -198, -198, -198, -198, 0, -198, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, -198, -198, 0, -198, 0, -198, -198, 0, 0, 0, -198, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, -198, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 549 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -424, -424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -424, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 550 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, 0, -201, 0, -201, -201, -201, -201, -201, 0, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, 0, 0, 0, -201, -201, -201, -201, -201, -201, 0, -201, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, 0, -201, -201, 0, -201, 0, -201, -201, 0, 0, 0, -201, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, -201, -201, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 551 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -421, -421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -421, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, -340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 552 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -420, -420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -420, 0, + 667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 553 - -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, 0, 0, 0, -337, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 554 - -405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 555 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -174, 0, 0, 0, 0, -174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 556 - -496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -251, 0, -251, 0, 0, 0, -251, 0, 0, -251, 0, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -251, -251, -251, -251, 0, 0, 0, 0, 0, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -251, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, 0, -251, -251, 0, 0, 0, -251, 0, 0, 0, 0, 0, -251, -251, -251, -251, -251, // State 557 - -429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -252, 0, -252, 0, 0, 0, -252, 0, 0, -252, 0, 0, 0, -252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -252, -252, -252, -252, 0, 0, 0, 0, 0, 0, 0, -252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -252, 0, 0, -252, 0, 0, 0, 0, 0, 0, 0, 0, -252, -252, 0, 0, 0, -252, 0, 0, 0, 0, 0, -252, -252, -252, -252, -252, // State 558 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -257, 0, -257, 0, 0, 0, -257, 0, 0, -257, 0, 0, 0, -257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -257, -257, -257, -257, 0, 0, 0, 0, 0, 0, 0, -257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -257, 0, 0, -257, 0, 0, 0, 0, 0, 0, 0, 0, -257, -257, 0, 0, 0, -257, 0, 0, 0, 0, 0, -257, -257, -257, -257, -257, // State 559 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -248, 0, -248, 0, 0, 0, -248, 0, 0, -248, 0, 0, 0, -248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -248, -248, -248, -248, 0, 0, 0, 0, 0, 0, 0, -248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -248, 0, 0, -248, 0, 0, 0, 0, 0, 0, 0, 0, -248, -248, 0, 0, 0, -248, 0, 0, 0, 0, 0, -248, -248, -248, -248, -248, // State 560 - -484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -246, 0, -246, 0, 0, 0, -246, 0, 0, -246, 0, 0, 0, -246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -246, -246, -246, -246, 0, 0, 0, 0, 0, 0, 0, -246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -246, 0, 0, -246, 0, 0, 0, 0, 0, 0, 0, 0, -246, -246, 0, 0, 0, -246, 0, 0, 0, 0, 0, -246, -246, -246, -246, -246, // State 561 - -733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -247, 0, -247, 0, 0, 0, -247, 0, 0, -247, 0, 0, 0, -247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -247, -247, -247, -247, 0, 0, 0, 0, 0, 0, 0, -247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -247, 0, 0, -247, 0, 0, 0, 0, 0, 0, 0, 0, -247, -247, 0, 0, 0, -247, 0, 0, 0, 0, 0, -247, -247, -247, -247, -247, // State 562 - -378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -258, 0, -258, 0, 0, 0, -258, 0, 0, -258, 0, 0, 0, -258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -258, -258, -258, -258, 0, 0, 0, 0, 0, 0, 0, -258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -258, 0, 0, -258, 0, 0, 0, 0, 0, 0, 0, 0, -258, -258, 0, 0, 0, -258, 0, 0, 0, 0, 0, -258, -258, -258, -258, -258, // State 563 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -250, 0, -250, 0, 0, 0, -250, 0, 0, -250, 0, 0, 0, -250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -250, -250, -250, -250, 0, 0, 0, 0, 0, 0, 0, -250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -250, 0, 0, -250, 0, 0, 0, 0, 0, 0, 0, 0, -250, -250, 0, 0, 0, -250, 0, 0, 0, 0, 0, -250, -250, -250, -250, -250, // State 564 - 0, -178, -178, 0, -178, 0, -178, 0, -178, -178, 0, 0, -178, 0, -178, -178, 0, 0, -178, 0, -178, -178, 0, 0, -207, 0, 0, -178, -178, 0, -178, 0, -178, -178, -178, -178, 0, -178, 0, 0, 0, 0, -178, 0, -178, 0, -178, -178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -178, 0, -178, -178, 0, 0, 0, -178, -178, 0, 0, 0, 0, 0, 0, 0, 0, -178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, + 0, 0, 0, 0, 0, 0, -255, 0, -255, 0, 0, 0, -255, 0, 0, -255, 0, 0, 0, -255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -255, -255, -255, -255, 0, 0, 0, 0, 0, 0, 0, -255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -255, 0, 0, -255, 0, 0, 0, 0, 0, 0, 0, 0, -255, -255, 0, 0, 0, -255, 0, 0, 0, 0, 0, -255, -255, -255, -255, -255, // State 565 - 0, -879, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, -879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -879, 0, 0, -879, 0, -879, -879, -879, 0, 0, 0, 0, 0, 0, 0, 0, 0, -879, 0, -879, -879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -879, 0, -879, -879, 0, 0, 0, -879, -879, 0, 0, 0, 0, 0, 0, 0, 0, -879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -256, 0, -256, 0, 0, 0, -256, 0, 0, -256, 0, 0, 0, -256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256, -256, -256, -256, 0, 0, 0, 0, 0, 0, 0, -256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256, 0, 0, -256, 0, 0, 0, 0, 0, 0, 0, 0, -256, -256, 0, 0, 0, -256, 0, 0, 0, 0, 0, -256, -256, -256, -256, -256, // State 566 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -249, 0, -249, 0, 0, 0, -249, 0, 0, -249, 0, 0, 0, -249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -249, -249, -249, -249, 0, 0, 0, 0, 0, 0, 0, -249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -249, 0, 0, -249, 0, 0, 0, 0, 0, 0, 0, 0, -249, -249, 0, 0, 0, -249, 0, 0, 0, 0, 0, -249, -249, -249, -249, -249, // State 567 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -254, 0, -254, 0, 0, 0, -254, 0, 0, -254, 0, 0, 0, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -254, -254, -254, -254, 0, 0, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -254, 0, 0, -254, 0, 0, 0, 0, 0, 0, 0, 0, -254, -254, 0, 0, 0, -254, 0, 0, 0, 0, 0, -254, -254, -254, -254, -254, // State 568 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -253, 0, -253, 0, 0, 0, -253, 0, 0, -253, 0, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -253, -253, -253, -253, 0, 0, 0, 0, 0, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -253, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, 0, -253, -253, 0, 0, 0, -253, 0, 0, 0, 0, 0, -253, -253, -253, -253, -253, // State 569 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -742, 0, 0, 0, 0, 0, -742, 0, -742, 0, 0, 0, -742, 0, 0, -742, 0, 0, 0, -742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -742, 0, -742, -742, -742, -742, 0, 0, 0, 0, 0, -742, -742, -742, -742, 0, -742, -742, -742, -742, 0, 0, 0, 0, -742, -742, -742, -742, -742, 0, 0, -742, -742, -742, -742, 0, -742, -742, -742, -742, -742, -742, -742, -742, -742, 0, 0, 0, -742, 0, 0, 0, 0, 0, -742, -742, -742, -742, -742, // State 570 - 0, -243, -243, 0, -243, 0, 155, 0, -243, -243, 0, 0, -243, 0, -243, -243, 0, 0, 156, 0, -243, -243, 0, 0, 0, 0, 0, -243, -243, 0, -243, 0, -243, -243, -243, -243, 0, -243, 0, 0, 0, 0, 157, 0, -243, 0, -243, -243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -243, 0, -243, -243, 0, 0, 0, -243, -243, 0, 0, 0, 0, 0, 0, 0, 0, -243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 674, 0, 0, 0, 0, 0, -129, 0, -129, 0, 0, 0, -129, 0, 0, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, -129, -129, -129, 0, 0, 0, 0, 0, -129, 0, -129, -129, 0, 0, -129, 0, -129, 0, 0, 0, 0, 0, -129, -129, 0, -129, 0, 0, -129, 0, -129, -129, 0, -129, -129, -129, 0, -129, 0, 0, -129, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, -129, -129, -129, -129, -129, // State 571 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 572 - 0, -721, -721, 0, -721, 0, 0, 0, -721, 158, 0, 0, -721, 0, -721, -721, 0, 0, 0, 0, -721, -721, 0, 0, 0, 0, 0, -721, -721, 0, -721, 0, -721, -721, -721, -721, 0, -721, 0, 0, 0, 0, 0, 0, -721, 0, -721, -721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -721, 0, -721, -721, 0, 0, 0, -721, -721, 0, 0, 0, 0, 0, 0, 0, 0, -721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 573 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 574 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 575 - 0, -179, -179, 0, -179, 0, -179, 0, -179, -179, 0, 0, -179, 0, -179, -179, 0, 0, -179, 0, -179, -179, 0, 0, -208, 0, 0, -179, -179, 0, -179, 0, -179, -179, -179, -179, 0, -179, 0, 0, 0, 0, -179, 0, -179, 0, -179, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, -179, -179, 0, 0, 0, -179, -179, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 576 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 577 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 578 - 0, -180, -180, 0, -180, 0, -180, 0, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, -209, 0, 0, -180, -180, 0, -180, 0, -180, -180, -180, -180, 0, -180, 0, 0, 0, 0, -180, 0, -180, 0, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, -180, -180, 0, 0, 0, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 579 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -812, 0, 0, 0, 0, 0, 0, 0, 0, 0, -817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 580 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 581 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 582 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -436, -436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -436, 0, // State 583 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 584 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -433, -433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -433, 0, // State 585 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -432, -432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -432, 0, // State 586 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 587 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 588 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 589 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 590 - 0, -358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, 0, -358, 0, -358, -358, -358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, -358, -358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, -358, -358, 0, 0, 0, -358, -358, 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 591 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 592 - 0, -206, -206, 0, -206, 0, -206, 0, -206, -206, 0, 0, -206, 0, -206, -206, 0, 0, -206, 0, -206, -206, 0, 0, -233, 0, 0, -206, -206, 0, -206, 0, -206, -206, -206, -206, 0, -206, 0, 0, 0, 0, -206, 0, -206, 0, -206, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, -206, -206, 0, 0, 0, -206, -206, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 593 - 0, -204, -204, 0, -204, 0, -204, 0, -204, -204, 0, 0, -204, 0, -204, -204, 0, 0, -204, 0, -204, -204, 0, 0, -231, 0, 0, -204, -204, 0, -204, 0, -204, -204, -204, -204, 0, -204, 0, 0, 0, 0, -204, 0, -204, 0, -204, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -204, 0, -204, -204, 0, 0, 0, -204, -204, 0, 0, 0, 0, 0, 0, 0, 0, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 594 - 0, -205, -205, 0, -205, 0, -205, 0, -205, -205, 0, 0, -205, 0, -205, -205, 0, 0, -205, 0, -205, -205, 0, 0, -232, 0, 0, -205, -205, 0, -205, 0, -205, -205, -205, -205, 0, -205, 0, 0, 0, 0, -205, 0, -205, 0, -205, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, -205, -205, 0, 0, 0, -205, -205, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -747, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -747, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 595 - 0, -203, -203, 0, -203, 0, -203, 0, -203, -203, 0, 0, -203, 0, -203, -203, 0, 0, -203, 0, -203, -203, 0, 0, -230, 0, 0, -203, -203, 0, -203, 0, -203, -203, -203, -203, 0, -203, 0, 0, 0, 0, -203, 0, -203, 0, -203, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -203, 0, -203, -203, 0, 0, 0, -203, -203, 0, 0, 0, 0, 0, 0, 0, 0, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 596 - 0, 0, 0, 0, 0, 0, 0, -162, 0, 0, 0, 0, 0, 0, 668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 597 - -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, 0, -235, 0, -235, -235, -235, -235, -235, 0, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, 0, 0, 0, -235, -235, -235, -235, -235, -235, 0, -235, 0, 0, 0, 0, 0, 0, 0, 0, -235, 0, 0, -235, -235, 0, -235, 0, -235, -235, 0, 0, 0, -235, -235, 0, 0, 0, 0, 0, 0, 0, 0, -235, -235, -235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 598 - 0, 0, 0, 0, 0, 0, -113, -113, -113, -113, 0, 0, -113, 0, 0, -113, 0, 0, 0, -113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, -113, -113, -113, 0, 0, 0, 0, 0, 0, 0, -113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, 0, -113, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, 0, 0, -113, 0, 0, 0, 0, 0, -113, -113, -113, -113, -113, + 0, -178, -178, 0, -178, 0, -178, 0, -178, -178, 0, 0, -178, 0, -178, -178, 0, 0, -178, 0, -178, -178, 0, 0, -207, 0, 0, -178, -178, 0, -178, 0, -178, -178, -178, -178, 0, -178, 0, 0, 0, 0, -178, 0, -178, 0, -178, -178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -178, 0, -178, -178, 0, 0, 0, -178, -178, 0, 0, 0, 0, 0, 0, 0, 0, 0, -178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, // State 599 - 0, 0, 0, 0, 0, 0, 0, -394, 0, 0, 0, 0, 0, 0, -394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -905, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, -905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -905, 0, 0, -905, 0, -905, -905, -905, 0, 0, 0, 0, 0, 0, 0, 0, 0, -905, 0, -905, -905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -905, 0, -905, -905, 0, 0, 0, -905, -905, 0, 0, 0, 0, 0, 0, 0, 0, 0, -905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 600 - 0, 0, 0, 0, 0, 0, 0, -397, 0, 0, 0, 0, 0, 0, -397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 601 - 0, 0, 0, 0, 0, 0, 0, -398, 0, 0, 0, 0, 0, 0, -398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 602 - -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, 0, -236, 0, -236, -236, -236, -236, -236, 0, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, 0, 0, 0, -236, -236, -236, -236, -236, -236, 0, -236, 0, 0, 0, 0, 0, 0, 0, 0, -236, 0, 0, -236, -236, 0, -236, 0, -236, -236, 0, 0, 0, -236, -236, 0, 0, 0, 0, 0, 0, 0, 0, -236, -236, -236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 603 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 604 - -140, -140, 0, -140, 0, -140, 0, -140, 0, 0, -140, -140, 0, -140, -140, 0, -140, 0, 0, 0, 0, 0, -140, -140, -140, 0, -140, -140, 0, -140, -140, -140, -140, -140, -140, 0, -140, 0, -140, 0, 0, 0, 0, -140, 0, -140, -140, -140, 0, -140, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, 0, -140, -140, 0, -140, 0, -140, -140, 0, 0, 0, -140, -140, 0, 0, 0, 0, 0, 0, 0, 0, 30, -140, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -243, -243, 0, -243, 0, 162, 0, -243, -243, 0, 0, -243, 0, -243, -243, 0, 0, 163, 0, -243, -243, 0, 0, 0, 0, 0, -243, -243, 0, -243, 0, -243, -243, -243, -243, 0, -243, 0, 0, 0, 0, 164, 0, -243, 0, -243, -243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -243, 0, -243, -243, 0, 0, 0, -243, -243, 0, 0, 0, 0, 0, 0, 0, 0, 0, -243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 605 - -479, 0, 0, 0, 0, 0, 0, -479, 0, 0, 0, 0, 0, 0, -479, 0, 0, 0, 0, 0, 0, 0, 0, 0, -479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -479, 0, 0, 0, 0, 0, -479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 606 - -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, 0, -196, 0, -196, -196, -196, -196, -196, 0, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, 0, 0, 0, -196, -196, -196, -196, -196, -196, 0, -196, 0, 0, 0, 0, 0, 0, 0, 0, -196, 0, 0, -196, -196, 0, -196, 0, -196, -196, 0, 0, 0, -196, -196, 0, 0, 0, 0, 0, 0, 0, 0, -196, -196, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -735, -735, 0, -735, 0, 0, 0, -735, 165, 0, 0, -735, 0, -735, -735, 0, 0, 0, 0, -735, -735, 0, 0, 0, 0, 0, -735, -735, 0, -735, 0, -735, -735, -735, -735, 0, -735, 0, 0, 0, 0, 0, 0, -735, 0, -735, -735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -735, 0, -735, -735, 0, 0, 0, -735, -735, 0, 0, 0, 0, 0, 0, 0, 0, 0, -735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 607 - 0, 0, 0, 0, 0, 0, 0, -756, 0, 0, 0, 0, 0, 0, -756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -756, 0, 0, 0, 0, 0, -756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 608 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 609 - -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, 0, -193, 0, -193, -193, -193, -193, -193, 0, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, 0, 0, 0, -193, -193, -193, -193, -193, -193, 0, -193, 0, 0, 0, 0, 0, 0, 0, 0, -193, 0, 0, -193, -193, 0, -193, 0, -193, -193, 0, 0, 0, -193, -193, 0, 0, 0, 0, 0, 0, 0, 0, -193, -193, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -179, -179, 0, -179, 0, -179, 0, -179, -179, 0, 0, -179, 0, -179, -179, 0, 0, -179, 0, -179, -179, 0, 0, -208, 0, 0, -179, -179, 0, -179, 0, -179, -179, -179, -179, 0, -179, 0, 0, 0, 0, -179, 0, -179, 0, -179, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, -179, -179, 0, 0, 0, -179, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 610 - 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 611 - -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, 0, -187, 0, -187, -187, -187, -187, -187, 0, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, 0, 0, 0, -187, -187, -187, -187, -187, -187, 0, -187, 0, 0, 0, 0, 0, 0, 0, 0, -187, 0, 0, -187, -187, 0, -187, 0, -187, -187, 0, 0, 0, -187, -187, 0, 0, 0, 0, 0, 0, 0, 0, -187, -187, -187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 612 - 0, 0, 0, 0, 0, 0, 0, -482, 0, 0, 0, 0, 0, 0, -482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -180, -180, 0, -180, 0, -180, 0, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, -180, 0, -180, -180, 0, 0, -209, 0, 0, -180, -180, 0, -180, 0, -180, -180, -180, -180, 0, -180, 0, 0, 0, 0, -180, 0, -180, 0, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, -180, -180, 0, 0, 0, -180, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 613 - 0, 0, 0, 0, 0, 0, 0, -514, 0, 0, 0, 0, 0, 0, -514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -827, 0, 0, 0, 0, 0, 0, 0, 0, 0, -832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 614 - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, 0, -184, 0, -184, -184, -184, -184, -184, 0, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, 0, 0, 0, -184, -184, -184, -184, -184, -184, 0, -184, 0, 0, 0, 0, 0, 0, 0, 0, -184, 0, 0, -184, -184, 0, -184, 0, -184, -184, 0, 0, 0, -184, -184, 0, 0, 0, 0, 0, 0, 0, 0, -184, -184, -184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 615 - -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, 0, -197, 0, -197, -197, -197, -197, -197, 0, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, 0, 0, 0, -197, -197, -197, -197, -197, -197, 0, -197, 0, 0, 0, 0, 0, 0, 0, 0, -197, 0, 0, -197, -197, 0, -197, 0, -197, -197, 0, 0, 0, -197, -197, 0, 0, 0, 0, 0, 0, 0, 0, -197, -197, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 616 - -884, 0, 0, 0, 0, 0, 0, -884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -884, 0, 0, 0, 0, -884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 617 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 618 - -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, 0, -183, 0, -183, -183, -183, -183, -183, 0, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, 0, 0, 0, -183, -183, -183, -183, -183, -183, 0, -183, 0, 0, 0, 0, 0, 0, 0, 0, -183, 0, 0, -183, -183, 0, -183, 0, -183, -183, 0, 0, 0, -183, -183, 0, 0, 0, 0, 0, 0, 0, 0, -183, -183, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 619 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 681, 0, 0, 0, 0, 0, 0, 0, 0, 0, -670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 620 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 621 - -435, 0, 0, -435, 0, -435, 0, -435, 0, 0, -435, -435, 0, -435, -435, 0, -435, 0, 0, 0, 0, 0, -435, -435, -435, 0, -435, 0, 0, -435, 0, -435, 0, 0, 0, 0, -435, 0, -435, 0, 0, 0, 0, -435, 0, -435, 0, -435, 0, -435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -435, -435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -435, -435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 622 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -528, 0, 0, 0, 0, 0, 0, 0, 0, 0, -528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 623 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, -687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 624 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0, 0, 0, 0, 0, 0, 0, -682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362, 0, 0, -362, 0, -362, -362, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, -362, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362, 0, -362, -362, 0, 0, 0, -362, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 625 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 626 - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, 0, -200, 0, -200, -200, -200, -200, -200, 0, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, 0, 0, 0, -200, -200, -200, -200, -200, -200, 0, -200, 0, 0, 0, 0, 0, 0, 0, 0, -200, 0, 0, -200, -200, 0, -200, 0, -200, -200, 0, 0, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, 0, -200, -200, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -206, -206, 0, -206, 0, -206, 0, -206, -206, 0, 0, -206, 0, -206, -206, 0, 0, -206, 0, -206, -206, 0, 0, -233, 0, 0, -206, -206, 0, -206, 0, -206, -206, -206, -206, 0, -206, 0, 0, 0, 0, -206, 0, -206, 0, -206, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, -206, -206, 0, 0, 0, -206, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 627 - -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, 0, -202, 0, -202, -202, -202, -202, -202, 0, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, 0, 0, 0, -202, -202, -202, -202, -202, -202, 0, -202, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, -202, -202, 0, -202, 0, -202, -202, 0, 0, 0, -202, -202, 0, 0, 0, 0, 0, 0, 0, 0, -202, -202, -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -204, -204, 0, -204, 0, -204, 0, -204, -204, 0, 0, -204, 0, -204, -204, 0, 0, -204, 0, -204, -204, 0, 0, -231, 0, 0, -204, -204, 0, -204, 0, -204, -204, -204, -204, 0, -204, 0, 0, 0, 0, -204, 0, -204, 0, -204, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -204, 0, -204, -204, 0, 0, 0, -204, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 628 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -205, -205, 0, -205, 0, -205, 0, -205, -205, 0, 0, -205, 0, -205, -205, 0, 0, -205, 0, -205, -205, 0, 0, -232, 0, 0, -205, -205, 0, -205, 0, -205, -205, -205, -205, 0, -205, 0, 0, 0, 0, -205, 0, -205, 0, -205, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, -205, -205, 0, 0, 0, -205, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 629 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -203, -203, 0, -203, 0, -203, 0, -203, -203, 0, 0, -203, 0, -203, -203, 0, 0, -203, 0, -203, -203, 0, 0, -230, 0, 0, -203, -203, 0, -203, 0, -203, -203, -203, -203, 0, -203, 0, 0, 0, 0, -203, 0, -203, 0, -203, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -203, 0, -203, -203, 0, 0, 0, -203, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 630 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -162, 0, 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 631 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, 0, -235, 0, -235, -235, -235, -235, -235, 0, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, 0, 0, 0, -235, -235, -235, -235, -235, -235, 0, -235, 0, 0, 0, 0, 0, 0, 0, 0, -235, 0, 0, -235, -235, 0, -235, 0, -235, -235, 0, 0, 0, -235, -235, 0, 0, 0, 0, 0, 0, 0, 0, 0, -235, -235, -235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 632 - -729, 0, 0, 0, 0, 0, -729, 0, -729, 0, 0, 0, -729, 0, 0, -729, 0, 0, 0, -729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -729, 0, -729, -729, -729, -729, 0, 0, 0, 0, 0, -729, -729, -729, -729, 0, -729, -729, -729, -729, 0, 0, 0, 0, -729, -729, -729, -729, -729, 0, 0, -729, -729, -729, -729, 0, -729, -729, -729, -729, -729, -729, -729, -729, 0, 0, 0, -729, 0, 0, 0, 0, 0, -729, -729, -729, -729, -729, + 0, 0, 0, 0, 0, 0, -113, -113, -113, -113, 0, 0, -113, 0, 0, -113, 0, 0, 0, -113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, -113, -113, -113, 0, 0, 0, 0, 0, 0, 0, -113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, 0, -113, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, 0, 0, -113, 0, 0, 0, 0, 0, -113, -113, -113, -113, -113, // State 633 - 688, 0, 0, 0, 0, 0, -130, 0, -130, 0, 0, 0, -130, 0, 0, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, -130, -130, -130, 0, 0, 0, 0, 0, -130, 0, -130, -130, 0, 0, -130, 0, -130, 0, 0, 0, 0, 0, -130, -130, 0, -130, 0, 0, -130, 0, -130, -130, 0, -130, -130, -130, 0, 0, 0, -130, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, -130, -130, -130, -130, -130, + 0, 0, 0, 0, 0, 0, 0, -406, 0, 0, 0, 0, 0, 0, -406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 634 - 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -409, 0, 0, 0, 0, 0, 0, -409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 635 - -175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -175, 0, 0, 0, 0, -175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -410, 0, 0, 0, 0, 0, 0, -410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 636 - -821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -821, 0, 0, 0, 0, -821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, 0, -236, 0, -236, -236, -236, -236, -236, 0, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, 0, 0, 0, -236, -236, -236, -236, -236, -236, 0, -236, 0, 0, 0, 0, 0, 0, 0, 0, -236, 0, 0, -236, -236, 0, -236, 0, -236, -236, 0, 0, 0, -236, -236, 0, 0, 0, 0, 0, 0, 0, 0, 0, -236, -236, -236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 637 - -369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 638 - -822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -822, 0, 0, 0, 0, -822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -140, -140, 0, -140, 0, -140, 0, -140, 0, 0, -140, -140, 0, -140, -140, 0, -140, 0, 0, 0, 0, 0, -140, -140, -140, 0, -140, -140, 0, -140, -140, -140, -140, -140, -140, 0, -140, 0, -140, 0, 0, 0, 0, -140, 0, -140, -140, -140, 0, -140, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, 0, -140, -140, 0, -140, 0, -140, -140, 0, 0, 0, -140, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, -140, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 639 - -171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -171, 0, 0, 0, 0, -171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -491, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 640 - -726, 0, 0, 0, 0, 0, -726, 0, -726, 0, 0, 0, -726, 0, 0, -726, 0, 0, 0, -726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -726, 0, -726, -726, -726, -726, 0, 0, 0, 0, 0, -726, -726, -726, -726, 0, -726, -726, -726, -726, 0, 0, 0, 0, -726, -726, -726, -726, -726, 0, 0, -726, -726, -726, -726, 0, -726, -726, -726, -726, -726, -726, -726, -726, 0, 0, 0, -726, 0, 0, 0, 0, 0, -726, -726, -726, -726, -726, + -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, 0, -196, 0, -196, -196, -196, -196, -196, 0, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, 0, 0, 0, -196, -196, -196, -196, -196, -196, 0, -196, 0, 0, 0, 0, 0, 0, 0, 0, -196, 0, 0, -196, -196, 0, -196, 0, -196, -196, 0, 0, 0, -196, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0, -196, -196, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 641 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -329, 0, 0, 0, -329, 0, -329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -770, 0, 0, 0, 0, 0, 0, -770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -770, 0, 0, 0, 0, 0, -770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 642 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 643 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, 0, -193, 0, -193, -193, -193, -193, -193, 0, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, 0, 0, 0, -193, -193, -193, -193, -193, -193, 0, -193, 0, 0, 0, 0, 0, 0, 0, 0, -193, 0, 0, -193, -193, 0, -193, 0, -193, -193, 0, 0, 0, -193, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, -193, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 644 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 645 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, 0, -187, 0, -187, -187, -187, -187, -187, 0, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, 0, 0, 0, -187, -187, -187, -187, -187, -187, 0, -187, 0, 0, 0, 0, 0, 0, 0, 0, -187, 0, 0, -187, -187, 0, -187, 0, -187, -187, 0, 0, 0, -187, -187, 0, 0, 0, 0, 0, 0, 0, 0, 0, -187, -187, -187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 646 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -425, -425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -425, 0, + 0, 0, 0, 0, 0, 0, 0, -494, 0, 0, 0, 0, 0, 0, -494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 647 - -343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -343, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, -343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -526, 0, 0, 0, 0, 0, 0, -526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 648 - 714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, 0, -184, 0, -184, -184, -184, -184, -184, 0, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, 0, 0, 0, -184, -184, -184, -184, -184, -184, 0, -184, 0, 0, 0, 0, 0, 0, 0, 0, -184, 0, 0, -184, -184, 0, -184, 0, -184, -184, 0, 0, 0, -184, -184, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184, -184, -184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 649 - 717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, 0, -197, 0, -197, -197, -197, -197, -197, 0, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, 0, 0, 0, -197, -197, -197, -197, -197, -197, 0, -197, 0, 0, 0, 0, 0, 0, 0, 0, -197, 0, 0, -197, -197, 0, -197, 0, -197, -197, 0, 0, 0, -197, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, -197, -197, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 650 - 720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -910, 0, 0, 0, 0, 0, 0, -910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -910, 0, 0, 0, 0, -910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 651 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 652 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -521, 0, 0, 0, 0, 0, 0, 0, 0, 0, -523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -521, 0, 0, 0, 0, 0, 0, 0, 477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, 0, -183, 0, -183, -183, -183, -183, -183, 0, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, 0, 0, 0, -183, -183, -183, -183, -183, -183, 0, -183, 0, 0, 0, 0, 0, 0, 0, 0, -183, 0, 0, -183, -183, 0, -183, 0, -183, -183, 0, 0, 0, -183, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, -183, -183, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 653 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, -684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 654 - 0, -372, -372, 0, -372, 0, 0, 0, -372, 0, 0, 0, -372, 0, -372, -372, 0, 0, 0, 0, -372, -372, 0, 0, -374, 0, 0, -372, -372, 0, -372, 0, -372, -372, -372, -372, 0, -372, 0, 0, 0, 0, 0, 0, -372, 0, -372, -372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -372, 0, -372, -372, 0, 0, 0, -372, -372, 0, 0, 0, 0, 0, 0, 0, 0, -372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -522, 0, 0, 0, 0, 0, 0, 0, 0, 0, -522, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 655 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, -874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -447, 0, 0, -447, 0, -447, 0, -447, 0, 0, -447, -447, 0, -447, -447, 0, -447, 0, 0, 0, 0, 0, -447, -447, -447, 0, -447, 0, 0, -447, 0, -447, 0, 0, 0, 0, -447, 0, -447, 0, 0, 0, 0, -447, 0, -447, 0, -447, 0, -447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -447, -447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -447, -447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 656 - 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -542, 0, 0, 0, 0, 0, 0, 0, 0, 0, -542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 657 - 0, 0, 0, 0, 0, 0, 0, -513, 0, 0, 0, 0, 0, 0, -513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, -701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 658 - 0, 0, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 0, 0, 0, 0, 0, 0, 0, 0, -696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 659 - 0, -194, -194, 0, -194, 0, -194, 0, -194, -194, 0, 0, -194, 0, -194, -194, 0, 0, -194, 0, -194, -194, 0, 0, -221, 0, 0, -194, -194, 0, -194, 0, -194, -194, -194, -194, 0, -194, 0, 0, 0, 0, -194, 0, -194, 0, -194, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -194, 0, -194, -194, 0, 0, 0, -194, -194, 0, 0, 0, 0, 0, 0, 0, 0, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 660 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, 0, -200, 0, -200, -200, -200, -200, -200, 0, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, 0, 0, 0, -200, -200, -200, -200, -200, -200, 0, -200, 0, 0, 0, 0, 0, 0, 0, 0, -200, 0, 0, -200, -200, 0, -200, 0, -200, -200, 0, 0, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, -200, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 661 - 0, -182, -182, 0, -182, 0, -182, 0, -182, -182, 0, 0, -182, 0, -182, -182, 0, 0, -182, 0, -182, -182, 0, 0, -211, 0, 0, -182, -182, 0, -182, 0, -182, -182, -182, -182, 0, -182, 0, 0, 0, 0, -182, 0, -182, 0, -182, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -182, 0, -182, -182, 0, 0, 0, -182, -182, 0, 0, 0, 0, 0, 0, 0, 0, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, 0, -202, 0, -202, -202, -202, -202, -202, 0, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, 0, 0, 0, -202, -202, -202, -202, -202, -202, 0, -202, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, -202, -202, 0, -202, 0, -202, -202, 0, 0, 0, -202, -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, -202, -202, -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 662 - 0, -242, -242, 0, -242, 0, 24, 0, -242, -242, 0, 0, -242, 0, -242, -242, 0, 0, 25, 0, -242, -242, 0, 0, -244, 0, 0, -242, -242, 0, -242, 0, -242, -242, -242, -242, 0, -242, 0, 0, 0, 0, 26, 0, -242, 0, -242, -242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -242, 0, -242, -242, 0, 0, 0, -242, -242, 0, 0, 0, 0, 0, 0, 0, 0, -242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 663 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -485, 0, 0, 0, 0, 0, 0, 0, 0, 0, -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -485, -485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -485, 0, 0, 0, 0, 0, 0, 0, -485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 664 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 665 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 666 - 0, -199, -199, 0, -199, 0, -199, 0, -199, -199, 0, 0, -199, 0, -199, -199, 0, 0, -199, 0, -199, -199, 0, 0, -226, 0, 0, -199, -199, 0, -199, 0, -199, -199, -199, -199, 0, -199, 0, 0, 0, 0, -199, 0, -199, 0, -199, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, -199, -199, 0, 0, 0, -199, -199, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -743, 0, 0, 0, 0, 0, -743, 0, -743, 0, 0, 0, -743, 0, 0, -743, 0, 0, 0, -743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -743, 0, -743, -743, -743, -743, 0, 0, 0, 0, 0, -743, -743, -743, -743, 0, -743, -743, -743, -743, 0, 0, 0, 0, -743, -743, -743, -743, -743, 0, 0, -743, -743, -743, -743, 0, -743, -743, -743, -743, -743, -743, -743, -743, -743, 0, 0, 0, -743, 0, 0, 0, 0, 0, -743, -743, -743, -743, -743, // State 667 - 0, 0, 0, 0, 0, 0, -114, -114, -114, -114, 0, 0, -114, 0, 0, -114, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, -114, -114, -114, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, -114, 0, 0, 0, 0, 0, -114, -114, -114, -114, -114, + 723, 0, 0, 0, 0, 0, -130, 0, -130, 0, 0, 0, -130, 0, 0, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, -130, -130, -130, 0, 0, 0, 0, 0, -130, 0, -130, -130, 0, 0, -130, 0, -130, 0, 0, 0, 0, 0, -130, -130, 0, -130, 0, 0, -130, 0, -130, -130, 0, -130, -130, -130, 0, -130, 0, 0, -130, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, -130, -130, -130, -130, -130, // State 668 - 0, 0, 0, 0, 0, 0, 0, -396, 0, 0, 0, 0, 0, 0, -396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -175, 0, 0, 0, 0, -175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 669 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -836, 0, 0, 0, 0, -836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 670 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 671 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -837, 0, 0, 0, 0, -837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 672 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -171, 0, 0, 0, 0, -171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 673 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -740, 0, 0, 0, 0, 0, -740, 0, -740, 0, 0, 0, -740, 0, 0, -740, 0, 0, 0, -740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -740, 0, -740, -740, -740, -740, 0, 0, 0, 0, 0, -740, -740, -740, -740, 0, -740, -740, -740, -740, 0, 0, 0, 0, -740, -740, -740, -740, -740, 0, 0, -740, -740, -740, -740, 0, -740, -740, -740, -740, -740, -740, -740, -740, -740, 0, 0, 0, -740, 0, 0, 0, 0, 0, -740, -740, -740, -740, -740, // State 674 - -810, 0, 0, -810, 0, -810, 0, -810, 0, 0, -810, -810, 0, -810, -810, 0, -810, 0, 0, 0, 0, 0, -810, -810, -810, 0, -810, 0, 0, -810, 0, -810, 0, 0, 0, 0, -810, 0, -810, 0, 0, 0, 0, -810, 0, -810, 0, -810, 0, -810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -810, -810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -810, -810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -333, 0, 0, 0, -333, 0, -333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 675 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 676 - 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 677 - -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, -189, 0, -189, -189, -189, -189, -189, 0, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, 0, 0, -189, -189, -189, -189, -189, -189, 0, -189, 0, 0, 0, 0, 0, 0, 0, 0, -189, 0, 0, -189, -189, 0, -189, 0, -189, -189, 0, 0, 0, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, -189, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 678 - 0, 0, 0, 0, 0, 0, 0, 753, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 679 - -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, 0, -190, 0, -190, -190, -190, -190, -190, 0, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, 0, 0, 0, -190, -190, -190, -190, -190, -190, 0, -190, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, 0, -190, -190, 0, -190, 0, -190, -190, 0, 0, 0, -190, -190, 0, 0, 0, 0, 0, 0, 0, 0, -190, -190, -190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 680 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -437, -437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -437, 0, // State 681 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, -661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -347, 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, -347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 682 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, -666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 683 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 0, -684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 684 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 685 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 760, 0, 0, 0, 0, 0, 0, 0, 0, 0, -681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, // State 686 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 687 - -727, 0, 0, 0, 0, 0, -727, 0, -727, 0, 0, 0, -727, 0, 0, -727, 0, 0, 0, -727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -727, 0, -727, -727, -727, -727, 0, 0, 0, 0, 0, -727, -727, -727, -727, 0, -727, -727, -727, -727, 0, 0, 0, 0, -727, -727, -727, -727, -727, 0, 0, -727, -727, -727, -727, 0, -727, -727, -727, -727, -727, -727, -727, -727, 0, 0, 0, -727, 0, 0, 0, 0, 0, -727, -727, -727, -727, -727, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -535, 0, 0, 0, 0, 0, 0, 0, 0, 0, -537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -535, 0, 0, 0, 0, 0, 0, 0, 511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 688 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 512, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 689 - -370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -376, -376, 0, -376, 0, 0, 0, -376, 0, 0, 0, -376, 0, -376, -376, 0, 0, 0, 0, -376, -376, 0, 0, -378, 0, 0, -376, -376, 0, -376, 0, -376, -376, -376, -376, 0, -376, 0, 0, 0, 0, 0, 0, -376, 0, -376, -376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -376, 0, -376, -376, 0, 0, 0, -376, -376, 0, 0, 0, 0, 0, 0, 0, 0, 0, -376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 690 - -169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, -900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 691 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 782, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 692 - 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -525, 0, 0, 0, 0, 0, 0, -525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 693 - -262, 0, 0, 0, 0, 0, -262, 0, -262, 0, 0, 0, -262, 0, 0, -262, 0, 0, 0, -262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -262, 0, -262, -262, -262, -262, 0, 0, 0, 0, 0, -262, -262, -262, -262, 0, -262, -262, -262, -262, 0, 0, 0, 0, -262, -262, -262, -262, -262, 0, 0, -262, -262, -262, -262, 0, -262, -262, -262, -262, -262, -262, -262, -262, 0, 0, 0, -262, -262, 0, 0, 0, 0, -262, -262, -262, -262, -262, + 0, 0, 0, 0, 0, 0, 0, 785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 694 - 0, 0, 0, 0, 0, 0, 0, -850, 0, 0, 0, 0, 0, 0, -850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, -850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -194, -194, 0, -194, 0, -194, 0, -194, -194, 0, 0, -194, 0, -194, -194, 0, 0, -194, 0, -194, -194, 0, 0, -221, 0, 0, -194, -194, 0, -194, 0, -194, -194, -194, -194, 0, -194, 0, 0, 0, 0, -194, 0, -194, 0, -194, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -194, 0, -194, -194, 0, 0, 0, -194, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, -194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 695 - 0, 0, 0, 0, 0, 0, 0, -612, 0, 0, 0, 0, 0, 0, 769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 696 - 0, 0, 0, 0, 0, 0, 0, -586, 0, 0, 0, 0, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -182, -182, 0, -182, 0, -182, 0, -182, -182, 0, 0, -182, 0, -182, -182, 0, 0, -182, 0, -182, -182, 0, 0, -211, 0, 0, -182, -182, 0, -182, 0, -182, -182, -182, -182, 0, -182, 0, 0, 0, 0, -182, 0, -182, 0, -182, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -182, 0, -182, -182, 0, 0, 0, -182, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 697 - 0, 0, 0, 0, 0, 0, 0, -507, 0, 0, 0, 0, 0, 0, -507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -242, -242, 0, -242, 0, 24, 0, -242, -242, 0, 0, -242, 0, -242, -242, 0, 0, 25, 0, -242, -242, 0, 0, -244, 0, 0, -242, -242, 0, -242, 0, -242, -242, -242, -242, 0, -242, 0, 0, 0, 0, 26, 0, -242, 0, -242, -242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -242, 0, -242, -242, 0, 0, 0, -242, -242, 0, 0, 0, 0, 0, 0, 0, 0, 0, -242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 698 - 0, 0, 0, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -497, 0, 0, 0, 0, 0, 0, 0, 0, 0, -499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -497, -497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -497, 0, 0, 0, 0, 0, 0, 0, -497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 699 - 0, 0, 0, 0, 0, 0, 0, -525, 0, 0, 0, 0, 0, 0, -525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 700 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -710, 0, 0, 0, 0, 0, 0, -710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 701 - -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -199, -199, 0, -199, 0, -199, 0, -199, -199, 0, 0, -199, 0, -199, -199, 0, 0, -199, 0, -199, -199, 0, 0, -226, 0, 0, -199, -199, 0, -199, 0, -199, -199, -199, -199, 0, -199, 0, 0, 0, 0, -199, 0, -199, 0, -199, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, -199, -199, 0, 0, 0, -199, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 702 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -114, -114, -114, -114, 0, 0, -114, 0, 0, -114, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, -114, -114, -114, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, 0, 0, -114, 0, 0, 0, 0, 0, -114, -114, -114, -114, -114, // State 703 - -500, 0, 0, 0, 0, 0, 0, -500, 0, 0, 0, 0, 0, 0, -500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -408, 0, 0, 0, 0, 0, 0, -408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 704 - -430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 705 - -416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 706 - -419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 707 - -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 708 - -494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 709 - -495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -825, 0, 0, -825, 0, -825, 0, -825, 0, 0, -825, -825, 0, -825, -825, 0, -825, 0, 0, 0, 0, 0, -825, -825, -825, 0, -825, 0, 0, -825, 0, -825, 0, 0, 0, 0, -825, 0, -825, 0, 0, 0, 0, -825, 0, -825, 0, -825, 0, -825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -825, -825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -825, -825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 710 - -498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 711 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -847, 0, 0, 0, 0, 0, 0, 0, 0, 0, -847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 712 - 779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, -189, 0, -189, -189, -189, -189, -189, 0, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, 0, 0, -189, -189, -189, -189, -189, -189, 0, -189, 0, 0, 0, 0, 0, 0, 0, 0, -189, 0, 0, -189, -189, 0, -189, 0, -189, -189, 0, 0, 0, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 713 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 794, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 714 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -848, 0, 0, 0, 0, 0, 0, 0, 0, 0, -848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, 0, -190, 0, -190, -190, -190, -190, -190, 0, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, 0, 0, 0, -190, -190, -190, -190, -190, -190, 0, -190, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, 0, -190, -190, 0, -190, 0, -190, -190, 0, 0, 0, -190, -190, 0, 0, 0, 0, 0, 0, 0, 0, 0, -190, -190, -190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 715 - 780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 716 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, -675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 717 - -732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, -680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 718 - 781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, 0, -698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 719 - -803, 0, 0, 0, 0, 0, -803, 0, -803, 0, 0, 0, -803, 0, 0, -803, 0, 0, 0, -803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -803, 0, -803, -803, -803, -803, 0, 0, 0, 0, 0, -803, -803, -803, -803, -803, -803, -803, -803, -803, -803, -803, -803, -803, -803, -803, -803, -803, -803, 0, 0, -803, -803, -803, -803, 0, -803, -803, -803, -803, -803, -803, -803, -803, 0, 0, 0, -803, -803, 0, 0, 0, 0, -803, -803, -803, -803, -803, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 720 - 783, 0, 0, 0, 0, 0, -129, 0, -129, 0, 0, 0, -129, 0, 0, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, -129, -129, -129, 0, 0, 0, 0, 0, -129, 0, -129, -129, 0, 0, -129, 0, -129, 0, 0, 0, 0, 0, -129, -129, 0, -129, 0, 0, -129, 0, -129, -129, 0, -129, -129, -129, 0, 0, 0, -129, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, -129, -129, -129, -129, -129, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 801, 0, 0, 0, 0, 0, 0, 0, 0, 0, -695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 721 - -351, 0, 0, 0, 0, 0, -351, 0, -351, 0, 0, 0, -351, 0, 0, -351, 0, 0, 0, -351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -351, 0, -351, -351, -351, -351, 0, 0, 0, 0, 0, -351, -351, -351, -351, 0, -351, -351, -351, -351, 0, -351, -351, -351, -351, -351, -351, -351, -351, 0, 0, -351, -351, -351, -351, 0, -351, -351, -351, -351, -351, -351, -351, -351, 0, 0, 0, -351, -351, 0, 0, 0, 0, -351, -351, -351, -351, -351, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 722 - -355, 0, 0, 0, 0, 0, -355, 0, -355, 0, 0, 0, -355, 0, 0, -355, 0, 0, 0, -355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -355, 0, -355, -355, -355, -355, 0, 0, 0, 0, 0, -355, -355, -355, -355, 0, -355, -355, -355, -355, 0, -355, -355, -355, -355, -355, -355, -355, -355, 0, 0, -355, -355, -355, -355, 0, -355, -355, -355, -355, -355, -355, -355, -355, 0, 0, 0, -355, -355, 0, 0, 0, 0, -355, -355, -355, -355, -355, + -741, 0, 0, 0, 0, 0, -741, 0, -741, 0, 0, 0, -741, 0, 0, -741, 0, 0, 0, -741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -741, 0, -741, -741, -741, -741, 0, 0, 0, 0, 0, -741, -741, -741, -741, 0, -741, -741, -741, -741, 0, 0, 0, 0, -741, -741, -741, -741, -741, 0, 0, -741, -741, -741, -741, 0, -741, -741, -741, -741, -741, -741, -741, -741, -741, 0, 0, 0, -741, 0, 0, 0, 0, 0, -741, -741, -741, -741, -741, // State 723 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 724 - -857, 0, 0, 0, 0, 0, -857, 0, -857, 0, 0, 0, -857, 0, 0, -857, 0, 0, 0, -857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -857, 0, -857, -857, -857, -857, 0, 0, 0, 0, 0, -857, -857, -857, -857, 0, -857, -857, -857, -857, 0, 794, 0, 0, -857, -857, -857, -857, -857, 0, 0, -857, -857, -857, -857, 0, -857, -857, -857, -857, -857, -857, -857, -857, 0, 0, 0, -857, -857, 0, 0, 0, 0, -857, -857, -857, -857, -857, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 725 - 0, 0, 0, 0, 0, 0, 0, 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 726 - 0, -237, -237, 0, -237, 0, -237, 0, -237, -237, 0, 0, -237, 0, -237, -237, 0, 0, -237, 0, -237, -237, 0, 0, -241, 0, 0, -237, -237, 0, -237, 0, -237, -237, -237, -237, 0, -237, 0, 0, 0, 0, -237, 0, -237, 0, -237, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -237, 0, -237, -237, 0, 0, 0, -237, -237, 0, 0, 0, 0, 0, 0, 0, 0, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 727 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 728 - 0, -720, -720, 0, -720, 0, 0, 0, -720, 0, 0, 0, -720, 0, -720, -720, 0, 0, 0, 0, -720, -720, 0, 0, -722, 0, 0, -720, -720, 0, -720, 0, -720, -720, -720, -720, 0, -720, 0, 0, 0, 0, 0, 0, -720, 0, -720, -720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -720, 0, -720, -720, 0, 0, 0, -720, -720, 0, 0, 0, 0, 0, 0, 0, 0, -720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 729 - 0, -357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -357, 0, 0, 0, 0, 0, 0, 0, 0, 0, -359, 0, 0, -357, 0, 0, -357, 0, -357, -357, -357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, -357, -357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -357, 0, -357, -357, 0, 0, 0, -357, -357, 0, 0, 0, 0, 0, 0, 0, 0, -357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -265, 0, 0, 0, 0, 0, -265, 0, -265, 0, 0, 0, -265, 0, 0, -265, 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -265, 0, -265, -265, -265, -265, 0, 0, 0, 0, 0, -265, -265, -265, -265, 0, -265, -265, -265, -265, 0, 0, 0, 0, -265, -265, -265, -265, -265, 0, 0, -265, -265, -265, -265, 0, -265, -265, -265, -265, -265, -265, -265, -265, -265, 0, 0, 0, -265, -265, 0, 0, 0, 0, -265, -265, -265, -265, -265, // State 730 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 731 - 0, -806, -806, 0, -806, 0, 0, 0, -806, 0, 0, 0, -806, 0, -806, -806, 0, 0, 0, 0, -806, -806, 0, 0, -808, 0, 0, -806, -806, 0, -806, 0, -806, -806, -806, -806, 0, -806, 0, 0, 0, 0, 0, 0, -806, 0, -806, -806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -806, 0, -806, -806, 0, 0, 0, -806, -806, 0, 0, 0, 0, 0, 0, 0, 0, -806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 732 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -859, 0, 0, 0, 0, 0, 0, 0, 0, 0, -862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 733 - 0, 0, 0, 0, 0, 0, 0, -858, 0, 0, 0, 0, 0, 0, -858, 0, 0, 0, 0, 0, 0, 0, 0, 0, -858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 734 - 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -876, 0, 0, 0, 0, 0, 0, -876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 0, 0, 0, 0, 0, -876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 735 - -877, 0, 0, 0, 0, 0, -877, 0, -877, 0, 0, 0, -877, 0, 0, -877, 0, 0, 0, -877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -877, 0, -877, -877, -877, -877, 0, 0, 0, 0, 0, -877, -877, -877, -877, 0, -877, -877, -877, -877, 0, 0, 0, 0, -877, -877, -877, -877, -877, 0, 0, -877, -877, -877, -877, 0, -877, -877, -877, -877, -877, -877, -877, -877, 0, 0, 0, -877, -877, 0, 0, 0, 0, -877, -877, -877, -877, -877, + 0, 0, 0, 0, 0, 0, 0, -626, 0, 0, 0, 0, 0, 0, 817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 736 - 0, -878, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, -878, 0, 0, 0, 0, 0, 0, 0, 0, 0, -880, 0, 0, -878, 0, 0, -878, 0, -878, -878, -878, 0, 0, 0, 0, 0, 0, 0, 0, 0, -878, 0, -878, -878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -878, 0, -878, -878, 0, 0, 0, -878, -878, 0, 0, 0, 0, 0, 0, 0, 0, -878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -600, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 737 - 0, 0, 0, 0, 0, 0, 0, 798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -519, 0, 0, 0, 0, 0, 0, -519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 738 - 0, 0, 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 739 - 0, -191, -191, 0, -191, 0, -191, 0, -191, -191, 0, 0, -191, 0, -191, -191, 0, 0, -191, 0, -191, -191, 0, 0, -218, 0, 0, -191, -191, 0, -191, 0, -191, -191, -191, -191, 0, -191, 0, 0, 0, 0, -191, 0, -191, 0, -191, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, -191, -191, 0, 0, 0, -191, -191, 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -539, 0, 0, 0, 0, 0, 0, -539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 740 - 0, -185, -185, 0, -185, 0, -185, 0, -185, -185, 0, 0, -185, 0, -185, -185, 0, 0, -185, 0, -185, -185, 0, 0, -864, 0, 0, -185, -185, 0, -185, 0, -185, -185, -185, -185, 0, -185, 0, 0, 0, 0, -185, 0, -185, 0, -185, -185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -185, 0, -185, -185, 0, 0, 0, -185, -185, 0, 0, 0, 0, 0, 0, 0, 0, -185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -724, 0, 0, 0, 0, 0, 0, -724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 741 - 0, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 742 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 743 - 0, -195, -195, 0, -195, 0, -195, 0, -195, -195, 0, 0, -195, 0, -195, -195, 0, 0, -195, 0, -195, -195, 0, 0, -222, 0, 0, -195, -195, 0, -195, 0, -195, -195, -195, -195, 0, -195, 0, 0, 0, 0, -195, 0, -195, 0, -195, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -195, 0, -195, -195, 0, 0, 0, -195, -195, 0, 0, 0, 0, 0, 0, 0, 0, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -512, 0, 0, 0, 0, 0, 0, -512, 0, 0, 0, 0, 0, 0, -512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 744 - 0, 0, 0, 0, 0, 0, 0, 806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 745 - 0, -181, -181, 0, -181, 0, -181, 0, -181, -181, 0, 0, -181, 0, -181, -181, 0, 0, -181, 0, -181, -181, 0, 0, -210, 0, 0, -181, -181, 0, -181, 0, -181, -181, -181, -181, 0, -181, 0, 0, 0, 0, -181, 0, -181, 0, -181, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, -181, -181, 0, 0, 0, -181, -181, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 746 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 747 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 748 - 0, -198, -198, 0, -198, 0, -198, 0, -198, -198, 0, 0, -198, 0, -198, -198, 0, 0, -198, 0, -198, -198, 0, 0, -225, 0, 0, -198, -198, 0, -198, 0, -198, -198, -198, -198, 0, -198, 0, 0, 0, 0, -198, 0, -198, 0, -198, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, -198, -198, 0, 0, 0, -198, -198, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 749 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 750 - 0, -201, -201, 0, -201, 0, -201, 0, -201, -201, 0, 0, -201, 0, -201, -201, 0, 0, -201, 0, -201, -201, 0, 0, -228, 0, 0, -201, -201, 0, -201, 0, -201, -201, -201, -201, 0, -201, 0, 0, 0, 0, -201, 0, -201, 0, -201, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, -201, -201, 0, 0, 0, -201, -201, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 751 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -862, 0, 0, 0, 0, 0, 0, 0, 0, 0, -862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 752 - -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, 0, -192, 0, -192, -192, -192, -192, -192, 0, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, 0, 0, 0, -192, -192, -192, -192, -192, -192, 0, -192, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, -192, -192, 0, -192, 0, -192, -192, 0, 0, 0, -192, -192, 0, 0, 0, 0, 0, 0, 0, 0, -192, -192, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 753 - -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, 0, -186, 0, -186, -186, -186, -186, -186, 0, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, 0, 0, 0, -186, -186, -186, -186, -186, -186, 0, -186, 0, 0, 0, 0, 0, 0, 0, 0, -186, 0, 0, -186, -186, 0, -186, 0, -186, -186, 0, 0, 0, -186, -186, 0, 0, 0, 0, 0, 0, 0, 0, -186, -186, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, // State 754 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, -658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -863, 0, 0, 0, 0, 0, 0, 0, 0, 0, -863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 755 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, 0, 0, 0, -643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 756 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, 0, 0, 0, 0, -671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, // State 757 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 758 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 818, 0, 0, 0, 0, 0, 0, 0, 0, 0, -683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 829, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 830, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 759 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -818, 0, 0, 0, 0, 0, -818, 0, -818, 0, 0, 0, -818, 0, 0, -818, 0, 0, 0, -818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -818, 0, -818, -818, -818, -818, 0, 0, 0, 0, 0, -818, -818, -818, -818, -818, -818, -818, -818, -818, -818, -818, -818, -818, -818, -818, -818, -818, -818, 0, 0, -818, -818, -818, -818, 0, -818, -818, -818, -818, -818, -818, -818, -818, -818, 0, 0, 0, -818, -818, 0, 0, 0, 0, -818, -818, -818, -818, -818, // State 760 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 831, 0, 0, 0, 0, 0, -129, 0, -129, 0, 0, 0, -129, 0, 0, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, -129, -129, -129, 0, 0, 0, 0, 0, -129, 0, -129, -129, 0, 0, -129, 0, -129, 0, 0, 0, 0, 0, -129, -129, 0, -129, 0, 0, -129, 0, -129, -129, 0, -129, -129, -129, 0, -129, 0, 0, -129, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, -129, -129, -129, -129, -129, // State 761 - 0, 0, 0, 0, 0, 0, 0, 819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -355, 0, 0, 0, 0, 0, -355, 0, -355, 0, 0, 0, -355, 0, 0, -355, 0, 0, 0, -355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -355, 0, -355, -355, -355, -355, 0, 0, 0, 0, 0, -355, -355, -355, -355, 0, -355, -355, -355, -355, 0, -355, -355, -355, -355, -355, -355, -355, -355, 0, 0, -355, -355, -355, -355, 0, -355, -355, -355, -355, -355, -355, -355, -355, -355, 0, 0, 0, -355, -355, 0, 0, 0, 0, -355, -355, -355, -355, -355, // State 762 - -263, 0, 0, 0, 0, 0, -263, 0, -263, 0, 0, 0, -263, 0, 0, -263, 0, 0, 0, -263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -263, 0, -263, -263, -263, -263, 0, 0, 0, 0, 0, -263, -263, -263, -263, 0, -263, -263, -263, -263, 0, 0, 0, 0, -263, -263, -263, -263, -263, 0, 0, -263, -263, -263, -263, 0, -263, -263, -263, -263, -263, -263, -263, -263, 0, 0, 0, -263, -263, 0, 0, 0, 0, -263, -263, -263, -263, -263, + -359, 0, 0, 0, 0, 0, -359, 0, -359, 0, 0, 0, -359, 0, 0, -359, 0, 0, 0, -359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -359, 0, -359, -359, -359, -359, 0, 0, 0, 0, 0, -359, -359, -359, -359, 0, -359, -359, -359, -359, 0, -359, -359, -359, -359, -359, -359, -359, -359, 0, 0, -359, -359, -359, -359, 0, -359, -359, -359, -359, -359, -359, -359, -359, -359, 0, 0, 0, -359, -359, 0, 0, 0, 0, -359, -359, -359, -359, -359, // State 763 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 764 - -876, 0, 0, 0, 0, 0, -876, 0, -876, 0, 0, 0, -876, 0, 0, -876, 0, 0, 0, -876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -876, 0, -876, -876, -876, -876, 0, 0, 0, 0, 0, -876, -876, -876, -876, 0, -876, -876, -876, -876, 0, 0, 0, 0, -876, -876, -876, -876, -876, 0, 0, -876, -876, -876, -876, 0, -876, -876, -876, -876, -876, -876, -876, -876, 0, 0, 0, -876, -876, 0, 0, 0, 0, -876, -876, -876, -876, -876, + -866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 765 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -883, 0, 0, 0, 0, 0, -883, 0, -883, 0, 0, 0, -883, 0, 0, -883, 0, 0, 0, -883, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -883, 0, -883, -883, -883, -883, 0, 0, 0, 0, 0, -883, -883, -883, -883, 0, -883, -883, -883, -883, 0, 843, 0, 0, -883, -883, -883, -883, -883, 0, 0, -883, -883, -883, -883, 0, -883, -883, -883, -883, -883, -883, -883, -883, -883, 0, 0, 0, -883, -883, 0, 0, 0, 0, -883, -883, -883, -883, -883, // State 766 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 844, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 767 - -392, 0, 0, 0, 0, 0, -392, 0, -392, 0, 0, 0, -392, 0, 0, -392, 0, 0, 0, -392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -392, 0, -392, -392, -392, -392, 0, 0, 0, 0, 0, -392, -392, -392, -392, 0, -392, -392, -392, -392, 0, 0, 0, 0, -392, -392, -392, -392, -392, 0, 0, -392, -392, -392, -392, 0, -392, -392, -392, -392, -392, -392, -392, -392, 0, 0, 0, -392, -392, 0, 0, 0, 0, -392, -392, -392, -392, -392, + 0, -237, -237, 0, -237, 0, -237, 0, -237, -237, 0, 0, -237, 0, -237, -237, 0, 0, -237, 0, -237, -237, 0, 0, -241, 0, 0, -237, -237, 0, -237, 0, -237, -237, -237, -237, 0, -237, 0, 0, 0, 0, -237, 0, -237, 0, -237, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -237, 0, -237, -237, 0, 0, 0, -237, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 768 - 0, 0, 0, 0, 0, 0, 0, -611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 769 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -709, 0, 0, 0, 0, 0, 0, -709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -734, -734, 0, -734, 0, 0, 0, -734, 0, 0, 0, -734, 0, -734, -734, 0, 0, 0, 0, -734, -734, 0, 0, -736, 0, 0, -734, -734, 0, -734, 0, -734, -734, -734, -734, 0, -734, 0, 0, 0, 0, 0, 0, -734, 0, -734, -734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -734, 0, -734, -734, 0, 0, 0, -734, -734, 0, 0, 0, 0, 0, 0, 0, 0, 0, -734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 770 - 0, 0, 0, 0, 0, 0, 0, -610, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, -363, 0, 0, -361, 0, 0, -361, 0, -361, -361, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, -361, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -361, 0, -361, -361, 0, 0, 0, -361, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, -361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 771 - 0, 0, 0, 0, 0, 0, 0, -772, 0, 0, 0, 0, 0, 0, -772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 772 - 0, 0, 0, 0, 0, 0, 0, -431, 0, 0, 0, 0, 0, 0, -431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -821, -821, 0, -821, 0, 0, 0, -821, 0, 0, 0, -821, 0, -821, -821, 0, 0, 0, 0, -821, -821, 0, 0, -823, 0, 0, -821, -821, 0, -821, 0, -821, -821, -821, -821, 0, -821, 0, 0, 0, 0, 0, 0, -821, 0, -821, -821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -821, 0, -821, -821, 0, 0, 0, -821, -821, 0, 0, 0, 0, 0, 0, 0, 0, 0, -821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 773 - 0, 0, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -885, 0, 0, 0, 0, 0, 0, 0, 0, 0, -888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 774 - 0, 0, 0, 0, 0, 0, 0, 834, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -884, 0, 0, 0, 0, 0, 0, -884, 0, 0, 0, 0, 0, 0, 0, 0, 0, -884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 775 - -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 776 - -411, 0, 0, 0, 0, 0, -411, 0, -411, 0, 0, 0, -411, 0, 0, -411, 0, 0, 0, -411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -411, 0, -411, -411, -411, -411, 0, 0, 0, 0, 0, -411, -411, -411, -411, 0, -411, -411, -411, -411, 260, 835, 0, 0, -411, -411, -411, -411, -411, 0, 0, -411, -411, -411, -411, 0, -411, -411, -411, -411, -411, -411, -411, -411, 0, 0, 0, -411, -411, 0, 0, 0, 0, -411, -411, -411, -411, -411, + -903, 0, 0, 0, 0, 0, -903, 0, -903, 0, 0, 0, -903, 0, 0, -903, 0, 0, 0, -903, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -903, 0, -903, -903, -903, -903, 0, 0, 0, 0, 0, -903, -903, -903, -903, 0, -903, -903, -903, -903, 0, 0, 0, 0, -903, -903, -903, -903, -903, 0, 0, -903, -903, -903, -903, 0, -903, -903, -903, -903, -903, -903, -903, -903, -903, 0, 0, 0, -903, -903, 0, 0, 0, 0, -903, -903, -903, -903, -903, // State 777 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -904, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, -904, 0, 0, 0, 0, 0, 0, 0, 0, 0, -906, 0, 0, -904, 0, 0, -904, 0, -904, -904, -904, 0, 0, 0, 0, 0, 0, 0, 0, 0, -904, 0, -904, -904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -904, 0, -904, -904, 0, 0, 0, -904, -904, 0, 0, 0, 0, 0, 0, 0, 0, 0, -904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 778 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 779 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 848, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 780 - -804, 0, 0, 0, 0, 0, -804, 0, -804, 0, 0, 0, -804, 0, 0, -804, 0, 0, 0, -804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -804, 0, -804, -804, -804, -804, 0, 0, 0, 0, 0, -804, -804, -804, -804, -804, -804, -804, -804, -804, -804, -804, -804, -804, -804, -804, -804, -804, -804, 0, 0, -804, -804, -804, -804, 0, -804, -804, -804, -804, -804, -804, -804, -804, 0, 0, 0, -804, -804, 0, 0, 0, 0, -804, -804, -804, -804, -804, + 0, -191, -191, 0, -191, 0, -191, 0, -191, -191, 0, 0, -191, 0, -191, -191, 0, 0, -191, 0, -191, -191, 0, 0, -218, 0, 0, -191, -191, 0, -191, 0, -191, -191, -191, -191, 0, -191, 0, 0, 0, 0, -191, 0, -191, 0, -191, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, -191, -191, 0, 0, 0, -191, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 781 - 839, 0, 0, 0, 0, 0, -130, 0, -130, 0, 0, 0, -130, 0, 0, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, -130, -130, -130, 0, 0, 0, 0, 0, -130, 0, -130, -130, 0, 0, -130, 0, -130, 0, 0, 0, 0, 0, -130, -130, 0, -130, 0, 0, -130, 0, -130, -130, 0, -130, -130, -130, 0, 0, 0, -130, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, -130, -130, -130, -130, -130, + 0, -185, -185, 0, -185, 0, -185, 0, -185, -185, 0, 0, -185, 0, -185, -185, 0, 0, -185, 0, -185, -185, 0, 0, -890, 0, 0, -185, -185, 0, -185, 0, -185, -185, -185, -185, 0, -185, 0, 0, 0, 0, -185, 0, -185, 0, -185, -185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -185, 0, -185, -185, 0, 0, 0, -185, -185, 0, 0, 0, 0, 0, 0, 0, 0, 0, -185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 782 - -801, 0, 0, 0, 0, 0, -801, 0, -801, 0, 0, 0, -801, 0, 0, -801, 0, 0, 0, -801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -801, 0, -801, -801, -801, -801, 0, 0, 0, 0, 0, -801, -801, -801, -801, -801, -801, -801, -801, -801, -801, -801, -801, -801, -801, -801, -801, -801, -801, 0, 0, -801, -801, -801, -801, 0, -801, -801, -801, -801, -801, -801, -801, -801, 0, 0, 0, -801, -801, 0, 0, 0, 0, -801, -801, -801, -801, -801, + 0, 0, 0, 0, 0, 0, 0, 853, 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 783 - -352, 0, 0, 0, 0, 0, -352, 0, -352, 0, 0, 0, -352, 0, 0, -352, 0, 0, 0, -352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -352, 0, -352, -352, -352, -352, 0, 0, 0, 0, 0, -352, -352, -352, -352, 0, -352, -352, -352, -352, 0, -352, -352, -352, -352, -352, -352, -352, -352, 0, 0, -352, -352, -352, -352, 0, -352, -352, -352, -352, -352, -352, -352, -352, 0, 0, 0, -352, -352, 0, 0, 0, 0, -352, -352, -352, -352, -352, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 784 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -195, -195, 0, -195, 0, -195, 0, -195, -195, 0, 0, -195, 0, -195, -195, 0, 0, -195, 0, -195, -195, 0, 0, -222, 0, 0, -195, -195, 0, -195, 0, -195, -195, -195, -195, 0, -195, 0, 0, 0, 0, -195, 0, -195, 0, -195, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -195, 0, -195, -195, 0, 0, 0, -195, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, -195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 785 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 786 - -356, 0, 0, 0, 0, 0, -356, 0, -356, 0, 0, 0, -356, 0, 0, -356, 0, 0, 0, -356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -356, 0, -356, -356, -356, -356, 0, 0, 0, 0, 0, -356, -356, -356, -356, 0, -356, -356, -356, -356, 0, -356, -356, -356, -356, -356, -356, -356, -356, 0, 0, -356, -356, -356, -356, 0, -356, -356, -356, -356, -356, -356, -356, -356, 0, 0, 0, -356, -356, 0, 0, 0, 0, -356, -356, -356, -356, -356, + 0, -181, -181, 0, -181, 0, -181, 0, -181, -181, 0, 0, -181, 0, -181, -181, 0, 0, -181, 0, -181, -181, 0, 0, -210, 0, 0, -181, -181, 0, -181, 0, -181, -181, -181, -181, 0, -181, 0, 0, 0, 0, -181, 0, -181, 0, -181, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, -181, -181, 0, 0, 0, -181, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 787 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 788 - 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 789 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -198, -198, 0, -198, 0, -198, 0, -198, -198, 0, 0, -198, 0, -198, -198, 0, 0, -198, 0, -198, -198, 0, 0, -225, 0, 0, -198, -198, 0, -198, 0, -198, -198, -198, -198, 0, -198, 0, 0, 0, 0, -198, 0, -198, 0, -198, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, -198, -198, 0, 0, 0, -198, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 790 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 791 - 0, 0, 0, 0, 0, 0, -782, 0, -782, 0, 0, 0, -782, 0, 0, -782, 0, 0, 0, -782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -782, 0, -782, -782, -782, -782, 0, 0, 0, 0, 0, -782, -782, -782, -782, 0, -782, -782, -782, -782, 0, 0, 0, 0, -782, -782, -782, -782, -782, 0, 0, -782, -782, -782, -782, 0, -782, -782, -782, -782, -782, -782, -782, -782, 0, 0, 0, -782, -782, 0, 0, 0, 0, -782, -782, -782, -782, -782, + 0, -201, -201, 0, -201, 0, -201, 0, -201, -201, 0, 0, -201, 0, -201, -201, 0, 0, -201, 0, -201, -201, 0, 0, -228, 0, 0, -201, -201, 0, -201, 0, -201, -201, -201, -201, 0, -201, 0, 0, 0, 0, -201, 0, -201, 0, -201, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, -201, -201, 0, 0, 0, -201, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 792 - 844, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 793 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, 0, -192, 0, -192, -192, -192, -192, -192, 0, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, 0, 0, 0, -192, -192, -192, -192, -192, -192, 0, -192, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, -192, -192, 0, -192, 0, -192, -192, 0, 0, 0, -192, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, -192, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 794 - 0, -235, -235, 0, -235, 0, -235, 0, -235, -235, 0, 0, -235, 0, -235, -235, 0, 0, -235, 0, -235, -235, 0, 0, -239, 0, 0, -235, -235, 0, -235, 0, -235, -235, -235, -235, 0, -235, 0, 0, 0, 0, -235, 0, -235, 0, -235, -235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -235, 0, -235, -235, 0, 0, 0, -235, -235, 0, 0, 0, 0, 0, 0, 0, 0, -235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, 0, -186, 0, -186, -186, -186, -186, -186, 0, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, 0, 0, 0, -186, -186, -186, -186, -186, -186, 0, -186, 0, 0, 0, 0, 0, 0, 0, 0, -186, 0, 0, -186, -186, 0, -186, 0, -186, -186, 0, 0, 0, -186, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, -186, -186, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 795 - 0, -236, -236, 0, -236, 0, -236, 0, -236, -236, 0, 0, -236, 0, -236, -236, 0, 0, -236, 0, -236, -236, 0, 0, -240, 0, 0, -236, -236, 0, -236, 0, -236, -236, -236, -236, 0, -236, 0, 0, 0, 0, -236, 0, -236, 0, -236, -236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -236, 0, -236, -236, 0, 0, 0, -236, -236, 0, 0, 0, 0, 0, 0, 0, 0, -236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, -672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 796 - 0, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 863, 0, 0, 0, 0, 0, 0, 0, 0, 0, -657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 797 - 0, -196, -196, 0, -196, 0, -196, 0, -196, -196, 0, 0, -196, 0, -196, -196, 0, 0, -196, 0, -196, -196, 0, 0, -223, 0, 0, -196, -196, 0, -196, 0, -196, -196, -196, -196, 0, -196, 0, 0, 0, 0, -196, 0, -196, 0, -196, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -196, 0, -196, -196, 0, 0, 0, -196, -196, 0, 0, 0, 0, 0, 0, 0, 0, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 865, 0, 0, 0, 0, 0, 0, 0, 0, 0, -685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 798 - 0, -193, -193, 0, -193, 0, -193, 0, -193, -193, 0, 0, -193, 0, -193, -193, 0, 0, -193, 0, -193, -193, 0, 0, -220, 0, 0, -193, -193, 0, -193, 0, -193, -193, -193, -193, 0, -193, 0, 0, 0, 0, -193, 0, -193, 0, -193, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 0, -193, -193, 0, 0, 0, -193, -193, 0, 0, 0, 0, 0, 0, 0, 0, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 799 - 0, -187, -187, 0, -187, 0, -187, 0, -187, -187, 0, 0, -187, 0, -187, -187, 0, 0, -187, 0, -187, -187, 0, 0, -214, 0, 0, -187, -187, 0, -187, 0, -187, -187, -187, -187, 0, -187, 0, 0, 0, 0, -187, 0, -187, 0, -187, -187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -187, 0, -187, -187, 0, 0, 0, -187, -187, 0, 0, 0, 0, 0, 0, 0, 0, -187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 867, 0, 0, 0, 0, 0, 0, 0, 0, 0, -697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 800 - 0, 0, 0, 0, 0, 0, 0, -514, 0, 0, 0, 0, 0, 0, -514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 801 - 0, -184, -184, 0, -184, 0, -184, 0, -184, -184, 0, 0, -184, 0, -184, -184, 0, 0, -184, 0, -184, -184, 0, 0, -863, 0, 0, -184, -184, 0, -184, 0, -184, -184, -184, -184, 0, -184, 0, 0, 0, 0, -184, 0, -184, 0, -184, -184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184, 0, -184, -184, 0, 0, 0, -184, -184, 0, 0, 0, 0, 0, 0, 0, 0, -184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 0, 0, 0, 0, 0, 0, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 802 - 0, 0, 0, 0, 0, 0, 0, -860, 0, 0, 0, 0, 0, 0, -860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 803 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -267, 0, 0, 0, 0, 0, -267, 0, -267, 0, 0, 0, -267, 0, 0, -267, 0, 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -267, 0, -267, -267, -267, -267, 0, 0, 0, 0, 0, -267, -267, -267, -267, 0, -267, -267, -267, -267, 0, 0, 0, 0, -267, -267, -267, -267, -267, 0, 0, -267, -267, -267, -267, 0, -267, -267, -267, -267, -267, -267, -267, -267, -267, 0, 0, 0, -267, -267, 0, 0, 0, 0, -267, -267, -267, -267, -267, // State 804 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 805 - 0, -197, -197, 0, -197, 0, -197, 0, -197, -197, 0, 0, -197, 0, -197, -197, 0, 0, -197, 0, -197, -197, 0, 0, -224, 0, 0, -197, -197, 0, -197, 0, -197, -197, -197, -197, 0, -197, 0, 0, 0, 0, -197, 0, -197, 0, -197, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -197, 0, -197, -197, 0, 0, 0, -197, -197, 0, 0, 0, 0, 0, 0, 0, 0, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 806 - 0, -183, -183, 0, -183, 0, -183, 0, -183, -183, 0, 0, -183, 0, -183, -183, 0, 0, -183, 0, -183, -183, 0, 0, -212, 0, 0, -183, -183, 0, -183, 0, -183, -183, -183, -183, 0, -183, 0, 0, 0, 0, -183, 0, -183, 0, -183, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -183, 0, -183, -183, 0, 0, 0, -183, -183, 0, 0, 0, 0, 0, 0, 0, 0, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 807 - 0, -200, -200, 0, -200, 0, -200, 0, -200, -200, 0, 0, -200, 0, -200, -200, 0, 0, -200, 0, -200, -200, 0, 0, -227, 0, 0, -200, -200, 0, -200, 0, -200, -200, -200, -200, 0, -200, 0, 0, 0, 0, -200, 0, -200, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 0, -200, -200, 0, 0, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, 0, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -902, 0, 0, 0, 0, 0, -902, 0, -902, 0, 0, 0, -902, 0, 0, -902, 0, 0, 0, -902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -902, 0, -902, -902, -902, -902, 0, 0, 0, 0, 0, -902, -902, -902, -902, 0, -902, -902, -902, -902, 0, 0, 0, 0, -902, -902, -902, -902, -902, 0, 0, -902, -902, -902, -902, 0, -902, -902, -902, -902, -902, -902, -902, -902, -902, 0, 0, 0, -902, -902, 0, 0, 0, 0, -902, -902, -902, -902, -902, // State 808 - 0, -202, -202, 0, -202, 0, -202, 0, -202, -202, 0, 0, -202, 0, -202, -202, 0, 0, -202, 0, -202, -202, 0, 0, -229, 0, 0, -202, -202, 0, -202, 0, -202, -202, -202, -202, 0, -202, 0, 0, 0, 0, -202, 0, -202, 0, -202, -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, -202, -202, 0, 0, 0, -202, -202, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 809 - 0, 0, 0, 0, 0, 0, 0, -321, 0, 0, 0, 0, 0, 0, -321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -321, 0, 0, 0, 0, 0, -321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -321, 0, 0, -321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -264, 0, 0, 0, 0, 0, -264, 0, -264, 0, 0, 0, -264, 0, 0, -264, 0, 0, 0, -264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -264, 0, -264, -264, -264, -264, 0, 0, 0, 0, 0, -264, -264, -264, -264, 0, -264, -264, -264, -264, 0, 0, 0, 0, -264, -264, -264, -264, -264, 0, 0, -264, -264, -264, -264, 0, -264, -264, -264, -264, -264, -264, -264, -264, -264, 0, 0, 0, -264, -264, 0, 0, 0, 0, -264, -264, -264, -264, -264, // State 810 - -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, 0, -188, 0, -188, -188, -188, -188, -188, 0, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, 0, 0, 0, -188, -188, -188, -188, -188, -188, 0, -188, 0, 0, 0, 0, 0, 0, 0, 0, -188, 0, 0, -188, -188, 0, -188, 0, -188, -188, 0, 0, 0, -188, -188, 0, 0, 0, 0, 0, 0, 0, 0, -188, -188, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 811 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 860, 0, 0, 0, 0, 0, 0, 0, 0, 0, -649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -872, 0, 0, 0, 0, 0, 0, -872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 812 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 862, 0, 0, 0, 0, 0, 0, 0, 0, 0, -640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 813 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 814 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 863, 0, 0, 0, 0, 0, 0, 0, 0, 0, -672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 815 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -403, 0, 0, 0, 0, 0, -403, 0, -403, 0, 0, 0, -403, 0, 0, -403, 0, 0, 0, -403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -403, 0, -403, -403, -403, -403, 0, 0, 0, 0, 0, -403, -403, -403, -403, 0, -403, -403, -403, -403, 0, 0, 0, 0, -403, -403, -403, -403, -403, 0, 0, -403, -403, -403, -403, 0, -403, -403, -403, -403, -403, -403, -403, -403, -403, 0, 0, 0, -403, -403, 0, 0, 0, 0, -403, -403, -403, -403, -403, // State 816 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, -662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 817 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -723, 0, 0, 0, 0, 0, 0, -723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 818 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -624, 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 819 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -787, 0, 0, 0, 0, 0, 0, -787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 820 - -393, 0, 0, 0, 0, 0, -393, 0, -393, 0, 0, 0, -393, 0, 0, -393, 0, 0, 0, -393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -393, 0, -393, -393, -393, -393, 0, 0, 0, 0, 0, -393, -393, -393, -393, 0, -393, -393, -393, -393, 0, 0, 0, 0, -393, -393, -393, -393, -393, 0, 0, -393, -393, -393, -393, 0, -393, -393, -393, -393, -393, -393, -393, -393, 0, 0, 0, -393, -393, 0, 0, 0, 0, -393, -393, -393, -393, -393, + 0, 0, 0, 0, 0, 0, 0, -443, 0, 0, 0, 0, 0, 0, -443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 821 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -349, 0, 0, 0, 0, 0, 0, -349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 822 - -388, 0, 0, 0, 0, 0, -388, 0, -388, 0, 0, 0, -388, 0, 0, -388, 0, 0, 0, -388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -388, 0, -388, -388, -388, -388, 0, 0, 0, 0, 0, -388, -388, -388, -388, 0, -388, -388, -388, -388, 0, 0, 0, 0, -388, -388, -388, -388, -388, 0, 0, -388, -388, -388, -388, 0, -388, -388, -388, -388, -388, -388, -388, -388, 0, 0, 0, -388, -388, 0, 0, 0, 0, -388, -388, -388, -388, -388, + 0, 0, 0, 0, 0, 0, 0, 892, 0, 0, 0, 0, 0, 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 823 - 0, 0, 0, 0, 0, 0, 0, -849, 0, 0, 0, 0, 0, 0, -849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 824 - 0, 0, 0, 0, 0, 0, 0, -592, 0, 0, 0, 0, 0, 0, 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -423, 0, 0, 0, 0, 0, -423, 0, -423, 0, 0, 0, -423, 0, 0, -423, 0, 0, 0, -423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -423, 0, -423, -423, -423, -423, 0, 0, 0, 0, 0, -423, -423, -423, -423, 0, -423, -423, -423, -423, 285, 893, 0, 0, -423, -423, -423, -423, -423, 0, 0, -423, -423, -423, -423, 0, -423, -423, -423, -423, -423, -423, -423, -423, -423, 0, 0, 0, -423, -423, 0, 0, 0, 0, -423, -423, -423, -423, -423, // State 825 - 0, 0, 0, 0, 0, 0, 0, -508, 0, 0, 0, 0, 0, 0, -508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 826 - 0, 0, 0, 0, 0, 0, 0, -526, 0, 0, 0, 0, 0, 0, -526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, // State 827 - 0, 0, 0, 0, 0, 0, 0, -609, 0, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, // State 828 - 0, 0, 0, 0, 0, 0, 0, -604, 0, 0, 0, 0, 0, 0, 879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -819, 0, 0, 0, 0, 0, -819, 0, -819, 0, 0, 0, -819, 0, 0, -819, 0, 0, 0, -819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -819, 0, -819, -819, -819, -819, 0, 0, 0, 0, 0, -819, -819, -819, -819, -819, -819, -819, -819, -819, -819, -819, -819, -819, -819, -819, -819, -819, -819, 0, 0, -819, -819, -819, -819, 0, -819, -819, -819, -819, -819, -819, -819, -819, -819, 0, 0, 0, -819, -819, 0, 0, 0, 0, -819, -819, -819, -819, -819, // State 829 - 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 897, 0, 0, 0, 0, 0, -130, 0, -130, 0, 0, 0, -130, 0, 0, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, -130, -130, -130, 0, 0, 0, 0, 0, -130, 0, -130, -130, 0, 0, -130, 0, -130, 0, 0, 0, 0, 0, -130, -130, 0, -130, 0, 0, -130, 0, -130, -130, 0, -130, -130, -130, 0, -130, 0, 0, -130, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, -130, -130, -130, -130, -130, // State 830 - -385, 0, 0, 0, 0, 0, -385, 0, -385, 0, 0, 0, -385, 0, 0, -385, 0, 0, 0, -385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -385, 0, -385, -385, -385, -385, 0, 0, 0, 0, 0, -385, -385, -385, -385, 0, -385, -385, -385, -385, 0, 881, 0, 0, -385, -385, -385, -385, -385, 0, 0, -385, -385, -385, -385, 0, -385, -385, -385, -385, -385, -385, -385, -385, 0, 0, 0, -385, -385, 0, 0, 0, 0, -385, -385, -385, -385, -385, + -816, 0, 0, 0, 0, 0, -816, 0, -816, 0, 0, 0, -816, 0, 0, -816, 0, 0, 0, -816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -816, 0, -816, -816, -816, -816, 0, 0, 0, 0, 0, -816, -816, -816, -816, -816, -816, -816, -816, -816, -816, -816, -816, -816, -816, -816, -816, -816, -816, 0, 0, -816, -816, -816, -816, 0, -816, -816, -816, -816, -816, -816, -816, -816, -816, 0, 0, 0, -816, -816, 0, 0, 0, 0, -816, -816, -816, -816, -816, // State 831 - -499, 0, 0, 0, 0, 0, 0, -499, 0, 0, 0, 0, 0, 0, -499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -356, 0, 0, 0, 0, 0, -356, 0, -356, 0, 0, 0, -356, 0, 0, -356, 0, 0, 0, -356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -356, 0, -356, -356, -356, -356, 0, 0, 0, 0, 0, -356, -356, -356, -356, 0, -356, -356, -356, -356, 0, -356, -356, -356, -356, -356, -356, -356, -356, 0, 0, -356, -356, -356, -356, 0, -356, -356, -356, -356, -356, -356, -356, -356, -356, 0, 0, 0, -356, -356, 0, 0, 0, 0, -356, -356, -356, -356, -356, // State 832 - -502, 0, 0, 0, 0, 0, 0, -502, 0, 0, 0, 0, 0, 0, -502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 833 - -418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 834 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -360, 0, 0, 0, 0, 0, -360, 0, -360, 0, 0, 0, -360, 0, 0, -360, 0, 0, 0, -360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -360, 0, -360, -360, -360, -360, 0, 0, 0, 0, 0, -360, -360, -360, -360, 0, -360, -360, -360, -360, 0, -360, -360, -360, -360, -360, -360, -360, -360, 0, 0, -360, -360, -360, -360, 0, -360, -360, -360, -360, -360, -360, -360, -360, -360, 0, 0, 0, -360, -360, 0, 0, 0, 0, -360, -360, -360, -360, -360, // State 835 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 836 - -497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 837 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -463, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 838 - -802, 0, 0, 0, 0, 0, -802, 0, -802, 0, 0, 0, -802, 0, 0, -802, 0, 0, 0, -802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -802, 0, -802, -802, -802, -802, 0, 0, 0, 0, 0, -802, -802, -802, -802, -802, -802, -802, -802, -802, -802, -802, -802, -802, -802, -802, -802, -802, -802, 0, 0, -802, -802, -802, -802, 0, -802, -802, -802, -802, -802, -802, -802, -802, 0, 0, 0, -802, -802, 0, 0, 0, 0, -802, -802, -802, -802, -802, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 839 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -797, 0, -797, 0, 0, 0, -797, 0, 0, -797, 0, 0, 0, -797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -797, 0, -797, -797, -797, -797, 0, 0, 0, 0, 0, -797, -797, -797, -797, 0, -797, -797, -797, -797, 0, 0, 0, 0, -797, -797, -797, -797, -797, 0, 0, -797, -797, -797, -797, 0, -797, -797, -797, -797, -797, -797, -797, -797, -797, 0, 0, 0, -797, -797, 0, 0, 0, 0, -797, -797, -797, -797, -797, // State 840 - -349, 0, 0, 0, 0, 0, -349, 0, -349, 0, 0, 0, -349, 0, 0, -349, 0, 0, 0, -349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -349, 0, -349, -349, -349, -349, 0, 0, 0, 0, 0, -349, -349, -349, -349, 0, -349, -349, -349, -349, 0, -349, -349, -349, -349, -349, -349, -349, -349, 0, 0, -349, -349, -349, -349, 0, -349, -349, -349, -349, -349, -349, -349, -349, 0, 0, 0, -349, -349, 0, 0, 0, 0, -349, -349, -349, -349, -349, + 902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 841 - -840, 0, 0, 0, 0, 0, -840, 0, -840, 0, 0, 0, -840, 0, 0, -840, 0, 0, 0, -840, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -840, 0, -840, -840, -840, -840, 0, 0, 0, 0, 0, -840, -840, -840, -840, 0, -840, -840, -840, -840, 0, 0, 0, 0, -840, -840, -840, -840, -840, 0, 0, -840, -840, -840, -840, 0, -840, -840, -840, -840, -840, -840, -840, -840, 0, 0, 0, -840, -840, 0, 0, 0, 0, -840, -840, -840, -840, -840, + -865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 842 - 917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 918, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 843 - 0, 0, 0, 0, 0, 0, -780, 0, -780, 0, 0, 0, -780, 0, 0, -780, 0, 0, 0, -780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -780, 0, -780, -780, -780, -780, 0, 0, 0, 0, 0, -780, -780, -780, -780, 0, -780, -780, -780, -780, 0, 0, 0, 0, -780, -780, -780, -780, -780, 0, 0, -780, -780, -780, -780, 0, -780, -780, -780, -780, -780, -780, -780, -780, 0, 0, 0, -780, -780, 0, 0, 0, 0, -780, -780, -780, -780, -780, + 0, -235, -235, 0, -235, 0, -235, 0, -235, -235, 0, 0, -235, 0, -235, -235, 0, 0, -235, 0, -235, -235, 0, 0, -239, 0, 0, -235, -235, 0, -235, 0, -235, -235, -235, -235, 0, -235, 0, 0, 0, 0, -235, 0, -235, 0, -235, -235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -235, 0, -235, -235, 0, 0, 0, -235, -235, 0, 0, 0, 0, 0, 0, 0, 0, 0, -235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 844 - 919, 0, 0, 0, 0, 0, -129, 0, -129, 0, 0, 0, -129, 0, 0, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, -129, -129, -129, 0, 0, 0, 0, 0, -129, 0, -129, -129, 0, 0, -129, 0, -129, 0, 0, 0, 0, 0, -129, -129, 0, -129, 0, 0, -129, 0, -129, -129, 0, -129, -129, -129, 0, 0, 0, -129, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, -129, -129, -129, -129, -129, + 0, -236, -236, 0, -236, 0, -236, 0, -236, -236, 0, 0, -236, 0, -236, -236, 0, 0, -236, 0, -236, -236, 0, 0, -240, 0, 0, -236, -236, 0, -236, 0, -236, -236, -236, -236, 0, -236, 0, 0, 0, 0, -236, 0, -236, 0, -236, -236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -236, 0, -236, -236, 0, 0, 0, -236, -236, 0, 0, 0, 0, 0, 0, 0, 0, 0, -236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 845 - 0, 0, 0, 0, 0, 0, -783, 0, -783, 0, 0, 0, -783, 0, 0, -783, 0, 0, 0, -783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -783, 0, -783, -783, -783, -783, 0, 0, 0, 0, 0, -783, -783, -783, -783, 0, -783, -783, -783, -783, 0, 0, 0, 0, -783, -783, -783, -783, -783, 0, 0, -783, -783, -783, -783, 0, -783, -783, -783, -783, -783, -783, -783, -783, 0, 0, 0, -783, -783, 0, 0, 0, 0, -783, -783, -783, -783, -783, + 0, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 846 - 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -196, -196, 0, -196, 0, -196, 0, -196, -196, 0, 0, -196, 0, -196, -196, 0, 0, -196, 0, -196, -196, 0, 0, -223, 0, 0, -196, -196, 0, -196, 0, -196, -196, -196, -196, 0, -196, 0, 0, 0, 0, -196, 0, -196, 0, -196, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -196, 0, -196, -196, 0, 0, 0, -196, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 847 - -805, 0, 0, 0, 0, 0, -805, 0, -805, 0, 0, 0, -805, 0, 0, -805, 0, 0, 0, -805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -805, 0, -805, -805, -805, -805, 0, 0, 0, 0, 0, -805, -805, -805, -805, -805, -805, -805, -805, -805, -805, -805, -805, -805, -805, -805, -805, -805, -805, 0, 0, -805, -805, -805, -805, 0, -805, -805, -805, -805, -805, -805, -805, -805, 0, 0, 0, -805, -805, 0, 0, 0, 0, -805, -805, -805, -805, -805, + 0, -193, -193, 0, -193, 0, -193, 0, -193, -193, 0, 0, -193, 0, -193, -193, 0, 0, -193, 0, -193, -193, 0, 0, -220, 0, 0, -193, -193, 0, -193, 0, -193, -193, -193, -193, 0, -193, 0, 0, 0, 0, -193, 0, -193, 0, -193, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 0, -193, -193, 0, 0, 0, -193, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 848 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -810, 0, 0, 0, 0, 0, 0, 0, 0, 0, -815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -187, -187, 0, -187, 0, -187, 0, -187, -187, 0, 0, -187, 0, -187, -187, 0, 0, -187, 0, -187, -187, 0, 0, -214, 0, 0, -187, -187, 0, -187, 0, -187, -187, -187, -187, 0, -187, 0, 0, 0, 0, -187, 0, -187, 0, -187, -187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -187, 0, -187, -187, 0, 0, 0, -187, -187, 0, 0, 0, 0, 0, 0, 0, 0, 0, -187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 849 - 0, 0, 0, 0, 0, 0, 0, -859, 0, 0, 0, 0, 0, 0, -859, 0, 0, 0, 0, 0, 0, 0, 0, 0, -859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -526, 0, 0, 0, 0, 0, 0, -526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 850 - 0, -189, -189, 0, -189, 0, -189, 0, -189, -189, 0, 0, -189, 0, -189, -189, 0, 0, -189, 0, -189, -189, 0, 0, -216, 0, 0, -189, -189, 0, -189, 0, -189, -189, -189, -189, 0, -189, 0, 0, 0, 0, -189, 0, -189, 0, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, 0, -189, -189, 0, 0, 0, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -184, -184, 0, -184, 0, -184, 0, -184, -184, 0, 0, -184, 0, -184, -184, 0, 0, -184, 0, -184, -184, 0, 0, -889, 0, 0, -184, -184, 0, -184, 0, -184, -184, -184, -184, 0, -184, 0, 0, 0, 0, -184, 0, -184, 0, -184, -184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184, 0, -184, -184, 0, 0, 0, -184, -184, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 851 - 0, 0, 0, 0, 0, 0, 0, 924, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -886, 0, 0, 0, 0, 0, 0, -886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 852 - 0, -190, -190, 0, -190, 0, -190, 0, -190, -190, 0, 0, -190, 0, -190, -190, 0, 0, -190, 0, -190, -190, 0, 0, -217, 0, 0, -190, -190, 0, -190, 0, -190, -190, -190, -190, 0, -190, 0, 0, 0, 0, -190, 0, -190, 0, -190, -190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, -190, -190, 0, 0, 0, -190, -190, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 853 - 0, 0, 0, 0, 0, 0, 0, 926, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 854 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -197, -197, 0, -197, 0, -197, 0, -197, -197, 0, 0, -197, 0, -197, -197, 0, 0, -197, 0, -197, -197, 0, 0, -224, 0, 0, -197, -197, 0, -197, 0, -197, -197, -197, -197, 0, -197, 0, 0, 0, 0, -197, 0, -197, 0, -197, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -197, 0, -197, -197, 0, 0, 0, -197, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, -197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 855 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -183, -183, 0, -183, 0, -183, 0, -183, -183, 0, 0, -183, 0, -183, -183, 0, 0, -183, 0, -183, -183, 0, 0, -212, 0, 0, -183, -183, 0, -183, 0, -183, -183, -183, -183, 0, -183, 0, 0, 0, 0, -183, 0, -183, 0, -183, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -183, 0, -183, -183, 0, 0, 0, -183, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, -183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 856 - 0, 0, 0, 0, 0, 0, 0, -322, 0, 0, 0, 0, 0, 0, -322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -322, 0, 0, 0, 0, 0, -322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -322, 0, 0, -322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -200, -200, 0, -200, 0, -200, 0, -200, -200, 0, 0, -200, 0, -200, -200, 0, 0, -200, 0, -200, -200, 0, 0, -227, 0, 0, -200, -200, 0, -200, 0, -200, -200, -200, -200, 0, -200, 0, 0, 0, 0, -200, 0, -200, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 0, -200, -200, 0, 0, 0, -200, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 857 - 0, 0, 0, 0, 0, 0, 0, -318, 0, 0, 0, 0, 0, 0, -318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -318, 0, 0, 0, 0, 0, -318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -318, 0, 0, -318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -202, -202, 0, -202, 0, -202, 0, -202, -202, 0, 0, -202, 0, -202, -202, 0, 0, -202, 0, -202, -202, 0, 0, -229, 0, 0, -202, -202, 0, -202, 0, -202, -202, -202, -202, 0, -202, 0, 0, 0, 0, -202, 0, -202, 0, -202, -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, -202, -202, 0, 0, 0, -202, -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, -202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 858 - 0, 0, 0, 0, 0, 0, 0, -364, 0, 0, 0, 0, 0, 0, -364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -364, 0, 0, 0, 0, 0, -364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -364, 0, 0, -364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -325, 0, 0, 0, 0, 0, 0, -325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -325, 0, 0, 0, 0, 0, -325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -325, 0, 0, -325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 859 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, 0, -188, 0, -188, -188, -188, -188, -188, 0, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, 0, 0, 0, -188, -188, -188, -188, -188, -188, 0, -188, 0, 0, 0, 0, 0, 0, 0, 0, -188, 0, 0, -188, -188, 0, -188, 0, -188, -188, 0, 0, 0, -188, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, -188, -188, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 860 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, -646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 918, 0, 0, 0, 0, 0, 0, 0, 0, 0, -663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 861 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 920, 0, 0, 0, 0, 0, 0, 0, 0, 0, -654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 862 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 863 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, -663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, -686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 864 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, -659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 865 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, -644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, -676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 866 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 867 - -389, 0, 0, 0, 0, 0, -389, 0, -389, 0, 0, 0, -389, 0, 0, -389, 0, 0, 0, -389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -389, 0, -389, -389, -389, -389, 0, 0, 0, 0, 0, -389, -389, -389, -389, 0, -389, -389, -389, -389, 0, 0, 0, 0, -389, -389, -389, -389, -389, 0, 0, -389, -389, -389, -389, 0, -389, -389, -389, -389, -389, -389, -389, -389, 0, 0, 0, -389, -389, 0, 0, 0, 0, -389, -389, -389, -389, -389, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 868 - -383, 0, 0, 0, 0, 0, -383, 0, -383, 0, 0, 0, -383, 0, 0, -383, 0, 0, 0, -383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -383, 0, -383, -383, -383, -383, 0, 0, 0, 0, 0, -383, -383, -383, -383, 0, -383, -383, -383, -383, 0, 937, 0, 0, -383, -383, -383, -383, -383, 0, 0, -383, -383, -383, -383, 0, -383, -383, -383, -383, -383, -383, -383, -383, 0, 0, 0, -383, -383, 0, 0, 0, 0, -383, -383, -383, -383, -383, + 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 869 - -260, 0, 0, 0, 0, 0, -260, 0, -260, 0, 0, 0, -260, 0, 0, -260, 0, 0, 0, -260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -260, 0, -260, -260, -260, -260, 0, 0, 0, 0, 0, -260, -260, -260, -260, 0, -260, -260, -260, -260, 0, 0, 0, 0, -260, -260, -260, -260, -260, 0, 0, -260, -260, -260, -260, 0, -260, -260, -260, -260, -260, -260, -260, -260, 0, 0, 0, -260, -260, 0, 0, 0, 0, -260, -260, -260, -260, -260, + -266, 0, 0, 0, 0, 0, -266, 0, -266, 0, 0, 0, -266, 0, 0, -266, 0, 0, 0, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -266, 0, -266, -266, -266, -266, 0, 0, 0, 0, 0, -266, -266, -266, -266, 0, -266, -266, -266, -266, 0, 0, 0, 0, -266, -266, -266, -266, -266, 0, 0, -266, -266, -266, -266, 0, -266, -266, -266, -266, -266, -266, -266, -266, -266, 0, 0, 0, -266, -266, 0, 0, 0, 0, -266, -266, -266, -266, -266, // State 870 - -390, 0, 0, 0, 0, 0, -390, 0, -390, 0, 0, 0, -390, 0, 0, -390, 0, 0, 0, -390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -390, 0, -390, -390, -390, -390, 0, 0, 0, 0, 0, -390, -390, -390, -390, 0, -390, -390, -390, -390, 0, 0, 0, 0, -390, -390, -390, -390, -390, 0, 0, -390, -390, -390, -390, 0, -390, -390, -390, -390, -390, -390, -390, -390, 0, 0, 0, -390, -390, 0, 0, 0, 0, -390, -390, -390, -390, -390, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 871 - 0, 0, 0, 0, 0, 0, 0, -589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 872 - 0, 0, 0, 0, 0, 0, 0, -583, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -405, 0, 0, 0, 0, 0, -405, 0, -405, 0, 0, 0, -405, 0, 0, -405, 0, 0, 0, -405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -405, 0, -405, -405, -405, -405, 0, 0, 0, 0, 0, -405, -405, -405, -405, 0, -405, -405, -405, -405, 0, 0, 0, 0, -405, -405, -405, -405, -405, 0, 0, -405, -405, -405, -405, 0, -405, -405, -405, -405, -405, -405, -405, -405, -405, 0, 0, 0, -405, -405, 0, 0, 0, 0, -405, -405, -405, -405, -405, // State 873 - 0, 0, 0, 0, 0, 0, 0, -588, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 874 - 0, 0, 0, 0, 0, 0, 0, -606, 0, 0, 0, 0, 0, 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -395, 0, 0, 0, 0, 0, -395, 0, -395, 0, 0, 0, -395, 0, 0, -395, 0, 0, 0, -395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -395, 0, -395, -395, -395, -395, 0, 0, 0, 0, 0, -395, -395, -395, -395, 0, -395, -395, -395, -395, 0, 0, 0, 0, -395, -395, -395, -395, -395, 0, 0, -395, -395, -395, -395, 0, -395, -395, -395, -395, -395, -395, -395, -395, -395, 0, 0, 0, -395, -395, 0, 0, 0, 0, -395, -395, -395, -395, -395, // State 875 - 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 876 - 0, 0, 0, 0, 0, 0, 0, -771, 0, 0, 0, 0, 0, 0, -771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 877 - 0, 0, 0, 0, 0, 0, 0, -603, 0, 0, 0, 0, 0, 0, 943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 878 - 0, 0, 0, 0, 0, 0, 0, -596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -871, 0, 0, 0, 0, 0, 0, -871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 879 - 0, 0, 0, 0, 0, 0, 0, -344, 0, 0, 0, 0, 0, 0, -344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 880 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -402, 0, 0, 0, 0, 0, -402, 0, -402, 0, 0, 0, -402, 0, 0, -402, 0, 0, 0, -402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -402, 0, -402, -402, -402, -402, 0, 0, 0, 0, 0, -402, -402, -402, -402, 0, -402, -402, -402, -402, 0, 0, 0, 0, -402, -402, -402, -402, -402, 0, 0, -402, -402, -402, -402, 0, -402, -402, -402, -402, -402, -402, -402, -402, -402, 0, 0, 0, -402, -402, 0, 0, 0, 0, -402, -402, -402, -402, -402, // State 881 - -417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -875, 0, 0, 0, 0, 0, 0, -875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 882 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -606, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 883 - -408, 0, 0, 0, 0, 0, -408, 0, -408, 0, 0, 0, -408, 0, 0, -408, 0, 0, 0, -408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -408, 0, -408, -408, -408, -408, 0, 0, 0, 0, 0, -408, -408, -408, -408, 0, -408, -408, -408, -408, 0, 0, 0, 0, -408, -408, -408, -408, -408, 0, 0, -408, -408, -408, -408, 0, -408, -408, -408, -408, -408, -408, -408, -408, 0, 0, 0, -408, -408, 0, 0, 0, 0, -408, -408, -408, -408, -408, + 0, 0, 0, 0, 0, 0, 0, -520, 0, 0, 0, 0, 0, 0, -520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 884 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -464, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -540, 0, 0, 0, 0, 0, 0, -540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 885 - -470, 0, 0, 0, 0, 0, -470, 0, -470, 0, 0, 0, -470, 0, 0, -470, 0, 0, 0, -470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -470, 0, -470, -470, -470, -470, 0, 0, 0, 0, 0, -470, -470, -470, -470, 0, -470, -470, -470, -470, 0, 0, 0, 0, -470, -470, -470, -470, -470, 0, 0, -470, -470, -470, -470, 0, -470, -470, -470, -470, -470, -470, -470, -470, 0, 0, 0, -470, -470, 0, 0, 0, 0, -470, -470, -470, -470, -470, + 0, 0, 0, 0, 0, 0, 0, -623, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 886 - 0, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, -446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -446, 0, -446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, + 0, 0, 0, 0, 0, 0, 0, -618, 0, 0, 0, 0, 0, 0, 942, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 887 - 0, 0, 0, 0, 0, 0, 0, -445, 0, 0, 0, 0, 0, 0, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -445, 0, 0, 0, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -445, 0, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 888 - 0, 0, 0, 0, 0, 0, 0, -712, 0, 0, 0, 0, 0, 0, -712, 0, 0, 0, 0, 0, 0, 0, 0, 0, -712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -389, 0, 0, 0, 0, 0, -389, 0, -389, 0, 0, 0, -389, 0, 0, -389, 0, 0, 0, -389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -389, 0, -389, -389, -389, -389, 0, 0, 0, 0, 0, -389, -389, -389, -389, 0, -389, -389, -389, -389, 0, 944, 0, 0, -389, -389, -389, -389, -389, 0, 0, -389, -389, -389, -389, 0, -389, -389, -389, -389, -389, -389, -389, -389, -389, 0, 0, 0, -389, -389, 0, 0, 0, 0, -389, -389, -389, -389, -389, // State 889 - 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -511, 0, 0, 0, 0, 0, 0, -511, 0, 0, 0, 0, 0, 0, -511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 890 - 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -514, 0, 0, 0, 0, 0, 0, -514, 0, 0, 0, 0, 0, 0, -514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 891 - 0, 0, 0, 0, 0, 0, 0, -519, 0, 0, 0, 0, 0, 0, -519, 0, 0, 0, 0, 0, 0, 0, 0, 0, -519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -519, 0, 0, 0, -519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 0, -519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 892 - 0, 0, 0, 0, 0, 0, 0, -326, 0, 0, 0, 0, -326, 0, -326, -326, 0, 0, 0, 0, 0, 0, 0, 0, -326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -326, 0, 0, 0, -326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -326, 0, -326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 893 - 0, 0, 0, 0, 0, 0, 0, -327, 0, 0, 0, 0, -327, 0, -327, -327, 0, 0, 0, 0, 0, 0, 0, 0, -327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -327, 0, 0, 0, -327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -327, 0, -327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 894 - 0, 0, 0, 0, 0, 0, -467, -259, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, -467, 0, 0, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 895 - 0, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -278, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -475, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 896 - 0, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -283, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -817, 0, 0, 0, 0, 0, -817, 0, -817, 0, 0, 0, -817, 0, 0, -817, 0, 0, 0, -817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -817, 0, -817, -817, -817, -817, 0, 0, 0, 0, 0, -817, -817, -817, -817, -817, -817, -817, -817, -817, -817, -817, -817, -817, -817, -817, -817, -817, -817, 0, 0, -817, -817, -817, -817, 0, -817, -817, -817, -817, -817, -817, -817, -817, -817, 0, 0, 0, -817, -817, 0, 0, 0, 0, -817, -817, -817, -817, -817, // State 897 - 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 898 - 0, 0, 0, 0, 0, 0, 319, -855, 0, 0, 0, 0, 0, 0, -855, 0, 0, 0, 320, 0, 0, 0, 0, 0, -855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -855, 0, 0, 0, -855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -855, 0, -855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -353, 0, 0, 0, 0, 0, -353, 0, -353, 0, 0, 0, -353, 0, 0, -353, 0, 0, 0, -353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -353, 0, -353, -353, -353, -353, 0, 0, 0, 0, 0, -353, -353, -353, -353, 0, -353, -353, -353, -353, 0, -353, -353, -353, -353, -353, -353, -353, -353, 0, 0, -353, -353, -353, -353, 0, -353, -353, -353, -353, -353, -353, -353, -353, -353, 0, 0, 0, -353, -353, 0, 0, 0, 0, -353, -353, -353, -353, -353, // State 899 - 0, 0, 0, 0, 0, 0, 0, -713, 0, 0, 0, 0, 0, 0, -713, 0, 0, 0, 0, 0, 0, 0, 0, 0, -713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -713, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -855, 0, 0, 0, 0, 0, -855, 0, -855, 0, 0, 0, -855, 0, 0, -855, 0, 0, 0, -855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -855, 0, -855, -855, -855, -855, 0, 0, 0, 0, 0, -855, -855, -855, -855, 0, -855, -855, -855, -855, 0, 0, 0, 0, -855, -855, -855, -855, -855, 0, 0, -855, -855, -855, -855, 0, -855, -855, -855, -855, -855, -855, -855, -855, -855, 0, 0, 0, -855, -855, 0, 0, 0, 0, -855, -855, -855, -855, -855, // State 900 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, -719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 901 - 0, 0, 0, 0, 0, 0, 0, -282, 0, 0, 0, 0, 0, 0, -282, 0, 0, 0, 0, 0, 0, 0, 0, 0, -282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -282, 0, 0, 0, -282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -282, 0, -282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -795, 0, -795, 0, 0, 0, -795, 0, 0, -795, 0, 0, 0, -795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -795, 0, -795, -795, -795, -795, 0, 0, 0, 0, 0, -795, -795, -795, -795, 0, -795, -795, -795, -795, 0, 0, 0, 0, -795, -795, -795, -795, -795, 0, 0, -795, -795, -795, -795, 0, -795, -795, -795, -795, -795, -795, -795, -795, -795, 0, 0, 0, -795, -795, 0, 0, 0, 0, -795, -795, -795, -795, -795, // State 902 - 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 982, 0, 0, 0, 0, 0, -129, 0, -129, 0, 0, 0, -129, 0, 0, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, -129, -129, -129, 0, 0, 0, 0, 0, -129, 0, -129, -129, 0, 0, -129, 0, -129, 0, 0, 0, 0, 0, -129, -129, 0, -129, 0, 0, -129, 0, -129, -129, 0, -129, -129, -129, 0, -129, 0, 0, -129, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, -129, -129, -129, -129, -129, // State 903 - 0, 0, 0, 0, 0, 0, 0, -520, 0, 0, 0, 0, 0, 0, -520, 0, 0, 0, 0, 0, 0, 0, 0, 0, -520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -520, 0, 0, 0, -520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, -520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -798, 0, -798, 0, 0, 0, -798, 0, 0, -798, 0, 0, 0, -798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -798, 0, -798, -798, -798, -798, 0, 0, 0, 0, 0, -798, -798, -798, -798, 0, -798, -798, -798, -798, 0, 0, 0, 0, -798, -798, -798, -798, -798, 0, 0, -798, -798, -798, -798, 0, -798, -798, -798, -798, -798, -798, -798, -798, -798, 0, 0, 0, -798, -798, 0, 0, 0, 0, -798, -798, -798, -798, -798, // State 904 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, -718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 905 - 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -820, 0, 0, 0, 0, 0, -820, 0, -820, 0, 0, 0, -820, 0, 0, -820, 0, 0, 0, -820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -820, 0, -820, -820, -820, -820, 0, 0, 0, 0, 0, -820, -820, -820, -820, -820, -820, -820, -820, -820, -820, -820, -820, -820, -820, -820, -820, -820, -820, 0, 0, -820, -820, -820, -820, 0, -820, -820, -820, -820, -820, -820, -820, -820, -820, 0, 0, 0, -820, -820, 0, 0, 0, 0, -820, -820, -820, -820, -820, // State 906 - 0, 0, 0, 0, 0, 0, 0, -443, 0, 0, 0, 0, 0, 0, -443, 0, 0, 0, 0, 0, 0, 0, 0, 0, -443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -443, 0, 0, 0, -443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -443, 0, -443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -825, 0, 0, 0, 0, 0, 0, 0, 0, 0, -830, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 907 - 0, 0, 0, 0, 0, 0, 0, -441, 0, 0, 0, 0, 0, 0, -441, 0, 0, 0, 0, 0, 0, 0, 0, 0, -441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -441, 0, 0, 0, -441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -441, 0, -441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -885, 0, 0, 0, 0, 0, 0, -885, 0, 0, 0, 0, 0, 0, 0, 0, 0, -885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 908 - 0, 0, 0, 0, 0, 0, 0, -442, 0, 0, 0, 0, 0, 0, -442, 0, 0, 0, 0, 0, 0, 0, 0, 0, -442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -442, 0, 0, 0, -442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -442, 0, -442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -189, -189, 0, -189, 0, -189, 0, -189, -189, 0, 0, -189, 0, -189, -189, 0, 0, -189, 0, -189, -189, 0, 0, -216, 0, 0, -189, -189, 0, -189, 0, -189, -189, -189, -189, 0, -189, 0, 0, 0, 0, -189, 0, -189, 0, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, 0, -189, -189, 0, 0, 0, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 909 - -473, 0, 0, 0, 0, 0, -473, 0, -473, 0, 0, 0, -473, 0, 0, -473, 0, 0, 0, -473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -473, 0, -473, -473, -473, -473, 0, 0, 0, 0, 0, -473, -473, -473, -473, 0, -473, -473, -473, -473, 0, 0, 0, 0, -473, -473, -473, -473, -473, 0, 0, -473, -473, -473, -473, 0, -473, -473, -473, -473, -473, -473, -473, -473, 0, 0, 0, -473, -473, 0, 0, 0, 0, -473, -473, -473, -473, -473, + 0, 0, 0, 0, 0, 0, 0, 987, 0, 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 910 - -833, 0, 0, 0, 0, 0, -833, 0, -833, 0, 0, 0, -833, 0, 0, -833, 0, 0, 0, -833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -833, 0, -833, -833, -833, -833, 0, 0, 0, 0, 0, -833, -833, -833, -833, 0, -833, -833, -833, -833, 0, 0, 0, 968, -833, -833, -833, -833, -833, 0, 0, -833, -833, -833, -833, 0, -833, -833, -833, -833, -833, -833, -833, -833, 0, 0, 0, -833, -833, 0, 0, 0, 0, -833, -833, -833, -833, -833, + 0, -190, -190, 0, -190, 0, -190, 0, -190, -190, 0, 0, -190, 0, -190, -190, 0, 0, -190, 0, -190, -190, 0, 0, -217, 0, 0, -190, -190, 0, -190, 0, -190, -190, -190, -190, 0, -190, 0, 0, 0, 0, -190, 0, -190, 0, -190, -190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, -190, -190, 0, 0, 0, -190, -190, 0, 0, 0, 0, 0, 0, 0, 0, 0, -190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 911 - -834, 0, 0, 0, 0, 0, -834, 0, -834, 0, 0, 0, -834, 0, 0, -834, 0, 0, 0, -834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -834, 0, -834, -834, -834, -834, 0, 0, 0, 0, 0, -834, -834, -834, -834, 0, -834, -834, -834, -834, 0, 0, 0, 0, -834, -834, -834, -834, -834, 0, 0, -834, -834, -834, -834, 0, -834, -834, -834, -834, -834, -834, -834, -834, 0, 0, 0, -834, -834, 0, 0, 0, 0, -834, -834, -834, -834, -834, + 0, 0, 0, 0, 0, 0, 0, 989, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 912 - -837, 0, 0, 0, 0, 0, -837, 0, -837, 0, 0, 0, -837, 0, 0, -837, 0, 0, 0, -837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -837, 0, -837, -837, -837, -837, 0, 0, 0, 0, 0, -837, -837, -837, -837, 0, -837, -837, -837, -837, 0, 0, 0, 969, -837, -837, -837, -837, -837, 0, 0, -837, -837, -837, -837, 0, -837, -837, -837, -837, -837, -837, -837, -837, 0, 0, 0, -837, -837, 0, 0, 0, 0, -837, -837, -837, -837, -837, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 913 - -838, 0, 0, 0, 0, 0, -838, 0, -838, 0, 0, 0, -838, 0, 0, -838, 0, 0, 0, -838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -838, 0, -838, -838, -838, -838, 0, 0, 0, 0, 0, -838, -838, -838, -838, 0, -838, -838, -838, -838, 0, 0, 0, 0, -838, -838, -838, -838, -838, 0, 0, -838, -838, -838, -838, 0, -838, -838, -838, -838, -838, -838, -838, -838, 0, 0, 0, -838, -838, 0, 0, 0, 0, -838, -838, -838, -838, -838, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 914 - -348, 0, 0, 0, 0, 0, -348, 0, -348, 0, 0, 0, -348, 0, 0, -348, 0, 0, 0, -348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -348, 0, -348, -348, -348, -348, 0, 0, 0, 0, 0, -348, -348, -348, -348, 0, -348, -348, -348, -348, 0, -348, -348, -348, -348, -348, -348, -348, -348, 0, 0, -348, -348, -348, -348, 0, -348, -348, -348, -348, -348, -348, -348, -348, 0, 0, 0, -348, -348, 0, 0, 0, 0, -348, -348, -348, -348, -348, + 0, 0, 0, 0, 0, 0, 0, -326, 0, 0, 0, 0, 0, 0, -326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -326, 0, 0, 0, 0, 0, -326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -326, 0, 0, -326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 915 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -322, 0, 0, 0, 0, 0, 0, -322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -322, 0, 0, 0, 0, 0, -322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -322, 0, 0, -322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 916 - 0, 0, 0, 0, 0, 0, -781, 0, -781, 0, 0, 0, -781, 0, 0, -781, 0, 0, 0, -781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -781, 0, -781, -781, -781, -781, 0, 0, 0, 0, 0, -781, -781, -781, -781, 0, -781, -781, -781, -781, 0, 0, 0, 0, -781, -781, -781, -781, -781, 0, 0, -781, -781, -781, -781, 0, -781, -781, -781, -781, -781, -781, -781, -781, 0, 0, 0, -781, -781, 0, 0, 0, 0, -781, -781, -781, -781, -781, + 0, 0, 0, 0, 0, 0, 0, -368, 0, 0, 0, 0, 0, 0, -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -368, 0, 0, 0, 0, 0, -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -368, 0, 0, -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 917 - 972, 0, 0, 0, 0, 0, -130, 0, -130, 0, 0, 0, -130, 0, 0, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, -130, -130, -130, 0, 0, 0, 0, 0, -130, 0, -130, -130, 0, 0, -130, 0, -130, 0, 0, 0, 0, 0, -130, -130, 0, -130, 0, 0, -130, 0, -130, -130, 0, -130, -130, -130, 0, 0, 0, -130, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, -130, -130, -130, -130, -130, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 918 - 0, 0, 0, 0, 0, 0, -778, 0, -778, 0, 0, 0, -778, 0, 0, -778, 0, 0, 0, -778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -778, 0, -778, -778, -778, -778, 0, 0, 0, 0, 0, -778, -778, -778, -778, 0, -778, -778, -778, -778, 0, 0, 0, 0, -778, -778, -778, -778, -778, 0, 0, -778, -778, -778, -778, 0, -778, -778, -778, -778, -778, -778, -778, -778, 0, 0, 0, -778, -778, 0, 0, 0, 0, -778, -778, -778, -778, -778, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 991, 0, 0, 0, 0, 0, 0, 0, 0, 0, -660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 919 - 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 920 - 0, 0, 0, 0, 0, 0, -786, 0, -786, 0, 0, 0, -786, 0, 0, -786, 0, 0, 0, -786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -786, 0, -786, -786, -786, -786, 0, 0, 0, 0, 0, -786, -786, -786, -786, 0, -786, -786, -786, -786, 0, 0, 0, 0, -786, -786, -786, -786, -786, 0, 0, -786, -786, -786, -786, 0, -786, -786, -786, -786, -786, -786, -786, -786, 0, 0, 0, -786, -786, 0, 0, 0, 0, -786, -786, -786, -786, -786, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 921 - 975, 0, 0, 0, 0, 0, -129, 0, -129, 0, 0, 0, -129, 0, 0, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, -129, -129, -129, 0, 0, 0, 0, 0, -129, 0, -129, -129, 0, 0, -129, 0, -129, 0, 0, 0, 0, 0, -129, -129, 0, -129, 0, 0, -129, 0, -129, -129, 0, -129, -129, -129, 0, 0, 0, -129, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, -129, -129, -129, -129, -129, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, -677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 922 - -856, 0, 0, 0, 0, 0, -856, 0, -856, 0, 0, 0, -856, 0, 0, -856, 0, 0, 0, -856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -856, 0, -856, -856, -856, -856, 0, 0, 0, 0, 0, -856, -856, -856, -856, 0, -856, -856, -856, -856, 0, 0, 0, 0, -856, -856, -856, -856, -856, 0, 0, -856, -856, -856, -856, 0, -856, -856, -856, -856, -856, -856, -856, -856, 0, 0, 0, -856, -856, 0, 0, 0, 0, -856, -856, -856, -856, -856, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, -673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 923 - 0, -192, -192, 0, -192, 0, -192, 0, -192, -192, 0, 0, -192, 0, -192, -192, 0, 0, -192, 0, -192, -192, 0, 0, -219, 0, 0, -192, -192, 0, -192, 0, -192, -192, -192, -192, 0, -192, 0, 0, 0, 0, -192, 0, -192, 0, -192, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, -192, -192, 0, 0, 0, -192, -192, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 996, 0, 0, 0, 0, 0, 0, 0, 0, 0, -658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 924 - 0, -186, -186, 0, -186, 0, -186, 0, -186, -186, 0, 0, -186, 0, -186, -186, 0, 0, -186, 0, -186, -186, 0, 0, -213, 0, 0, -186, -186, 0, -186, 0, -186, -186, -186, -186, 0, -186, 0, 0, 0, 0, -186, 0, -186, 0, -186, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -186, 0, -186, -186, 0, 0, 0, -186, -186, 0, 0, 0, 0, 0, 0, 0, 0, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 925 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -397, 0, 0, 0, 0, 0, -397, 0, -397, 0, 0, 0, -397, 0, 0, -397, 0, 0, 0, -397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -397, 0, -397, -397, -397, -397, 0, 0, 0, 0, 0, -397, -397, -397, -397, 0, -397, -397, -397, -397, 0, 0, 0, 0, -397, -397, -397, -397, -397, 0, 0, -397, -397, -397, -397, 0, -397, -397, -397, -397, -397, -397, -397, -397, -397, 0, 0, 0, -397, -397, 0, 0, 0, 0, -397, -397, -397, -397, -397, // State 926 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 927 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 928 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, -660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -404, 0, 0, 0, 0, 0, -404, 0, -404, 0, 0, 0, -404, 0, 0, -404, 0, 0, 0, -404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -404, 0, -404, -404, -404, -404, 0, 0, 0, 0, 0, -404, -404, -404, -404, 0, -404, -404, -404, -404, 0, 0, 0, 0, -404, -404, -404, -404, -404, 0, 0, -404, -404, -404, -404, 0, -404, -404, -404, -404, -404, -404, -404, -404, -404, 0, 0, 0, -404, -404, 0, 0, 0, 0, -404, -404, -404, -404, -404, // State 929 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, -645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 930 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, -650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -394, 0, 0, 0, 0, 0, -394, 0, -394, 0, 0, 0, -394, 0, 0, -394, 0, 0, 0, -394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -394, 0, -394, -394, -394, -394, 0, 0, 0, 0, 0, -394, -394, -394, -394, 0, -394, -394, -394, -394, 0, 0, 0, 0, -394, -394, -394, -394, -394, 0, 0, -394, -394, -394, -394, 0, -394, -394, -394, -394, -394, -394, -394, -394, -394, 0, 0, 0, -394, -394, 0, 0, 0, 0, -394, -394, -394, -394, -394, // State 931 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 0, 0, 0, 0, 0, 0, -641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -387, 0, 0, 0, 0, 0, -387, 0, -387, 0, 0, 0, -387, 0, 0, -387, 0, 0, 0, -387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -387, 0, -387, -387, -387, -387, 0, 0, 0, 0, 0, -387, -387, -387, -387, 0, -387, -387, -387, -387, 0, 1002, 0, 0, -387, -387, -387, -387, -387, 0, 0, -387, -387, -387, -387, 0, -387, -387, -387, -387, -387, -387, -387, -387, -387, 0, 0, 0, -387, -387, 0, 0, 0, 0, -387, -387, -387, -387, -387, // State 932 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -261, 0, 0, 0, 0, 0, -261, 0, -261, 0, 0, 0, -261, 0, 0, -261, 0, 0, 0, -261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -261, 0, -261, -261, -261, -261, 0, 0, 0, 0, 0, -261, -261, -261, -261, 0, -261, -261, -261, -261, 0, 0, 0, 0, -261, -261, -261, -261, -261, 0, 0, -261, -261, -261, -261, 0, -261, -261, -261, -261, -261, -261, -261, -261, -261, 0, 0, 0, -261, -261, 0, 0, 0, 0, -261, -261, -261, -261, -261, // State 933 - -261, 0, 0, 0, 0, 0, -261, 0, -261, 0, 0, 0, -261, 0, 0, -261, 0, 0, 0, -261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -261, 0, -261, -261, -261, -261, 0, 0, 0, 0, 0, -261, -261, -261, -261, 0, -261, -261, -261, -261, 0, 0, 0, 0, -261, -261, -261, -261, -261, 0, 0, -261, -261, -261, -261, 0, -261, -261, -261, -261, -261, -261, -261, -261, 0, 0, 0, -261, -261, 0, 0, 0, 0, -261, -261, -261, -261, -261, + -399, 0, 0, 0, 0, 0, -399, 0, -399, 0, 0, 0, -399, 0, 0, -399, 0, 0, 0, -399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -399, 0, -399, -399, -399, -399, 0, 0, 0, 0, 0, -399, -399, -399, -399, 0, -399, -399, -399, -399, 0, 0, 0, 0, -399, -399, -399, -399, -399, 0, 0, -399, -399, -399, -399, 0, -399, -399, -399, -399, -399, -399, -399, -399, -399, 0, 0, 0, -399, -399, 0, 0, 0, 0, -399, -399, -399, -399, -399, // State 934 - -391, 0, 0, 0, 0, 0, -391, 0, -391, 0, 0, 0, -391, 0, 0, -391, 0, 0, 0, -391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -391, 0, -391, -391, -391, -391, 0, 0, 0, 0, 0, -391, -391, -391, -391, 0, -391, -391, -391, -391, 0, 0, 0, 0, -391, -391, -391, -391, -391, 0, 0, -391, -391, -391, -391, 0, -391, -391, -391, -391, -391, -391, -391, -391, 0, 0, 0, -391, -391, 0, 0, 0, 0, -391, -391, -391, -391, -391, + 0, 0, 0, 0, 0, 0, 0, -603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 935 - -386, 0, 0, 0, 0, 0, -386, 0, -386, 0, 0, 0, -386, 0, 0, -386, 0, 0, 0, -386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -386, 0, -386, -386, -386, -386, 0, 0, 0, 0, 0, -386, -386, -386, -386, 0, -386, -386, -386, -386, 0, 0, 0, 0, -386, -386, -386, -386, -386, 0, 0, -386, -386, -386, -386, 0, -386, -386, -386, -386, -386, -386, -386, -386, 0, 0, 0, -386, -386, 0, 0, 0, 0, -386, -386, -386, -386, -386, + 0, 0, 0, 0, 0, 0, 0, -597, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 936 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -602, 0, 0, 0, 0, 0, 0, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 937 - 0, 0, 0, 0, 0, 0, 0, -580, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -620, 0, 0, 0, 0, 0, 0, 1008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 938 - 0, 0, 0, 0, 0, 0, 0, -565, 0, 0, 0, 0, 0, 0, 987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 939 - 0, 0, 0, 0, 0, 0, 0, -593, 0, 0, 0, 0, 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -786, 0, 0, 0, 0, 0, 0, -786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 940 - 0, 0, 0, 0, 0, 0, 0, -598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -617, 0, 0, 0, 0, 0, 0, 1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 941 - 0, 0, 0, 0, 0, 0, 0, -605, 0, 0, 0, 0, 0, 0, 991, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 942 - 0, 0, 0, 0, 0, 0, 0, -595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -348, 0, 0, 0, 0, 0, 0, -348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 943 - -501, 0, 0, 0, 0, 0, 0, -501, 0, 0, 0, 0, 0, 0, -501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 944 - -409, 0, 0, 0, 0, 0, -409, 0, -409, 0, 0, 0, -409, 0, 0, -409, 0, 0, 0, -409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -409, 0, -409, -409, -409, -409, 0, 0, 0, 0, 0, -409, -409, -409, -409, 0, -409, -409, -409, -409, 0, 0, 0, 0, -409, -409, -409, -409, -409, 0, 0, -409, -409, -409, -409, 0, -409, -409, -409, -409, -409, -409, -409, -409, 0, 0, 0, -409, -409, 0, 0, 0, 0, -409, -409, -409, -409, -409, + -429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 945 - -105, 0, 0, 0, 0, 0, -105, 0, -105, 0, 0, 0, -105, 0, 0, -105, 0, 0, 0, -105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, -105, -105, -105, -105, 0, 0, 0, 0, 0, -105, -105, -105, -105, 0, -105, -105, -105, -105, -105, -105, 0, 0, -105, -105, -105, -105, -105, 0, 0, -105, -105, -105, -105, 0, -105, -105, -105, -105, -105, -105, -105, -105, 0, 0, 0, -105, -105, 0, 0, 0, 0, -105, -105, -105, -105, -105, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 946 - -471, 0, 0, 0, 0, 0, -471, 0, -471, 0, 0, 0, -471, 0, 0, -471, 0, 0, 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -471, 0, -471, -471, -471, -471, 0, 0, 0, 0, 0, -471, -471, -471, -471, 0, -471, -471, -471, -471, 0, 0, 0, 0, -471, -471, -471, -471, -471, 0, 0, -471, -471, -471, -471, 0, -471, -471, -471, -471, -471, -471, -471, -471, 0, 0, 0, -471, -471, 0, 0, 0, 0, -471, -471, -471, -471, -471, + -420, 0, 0, 0, 0, 0, -420, 0, -420, 0, 0, 0, -420, 0, 0, -420, 0, 0, 0, -420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -420, 0, -420, -420, -420, -420, 0, 0, 0, 0, 0, -420, -420, -420, -420, 0, -420, -420, -420, -420, 0, 0, 0, 0, -420, -420, -420, -420, -420, 0, 0, -420, -420, -420, -420, 0, -420, -420, -420, -420, -420, -420, -420, -420, -420, 0, 0, 0, -420, -420, 0, 0, 0, 0, -420, -420, -420, -420, -420, // State 947 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -476, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 948 - 0, 0, 0, 0, 0, 0, 0, 1014, 0, 0, 0, 0, 0, 0, 1015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -482, 0, 0, 0, 0, 0, -482, 0, -482, 0, 0, 0, -482, 0, 0, -482, 0, 0, 0, -482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -482, 0, -482, -482, -482, -482, 0, 0, 0, 0, 0, -482, -482, -482, -482, 0, -482, -482, -482, -482, 0, 0, 0, 0, -482, -482, -482, -482, -482, 0, 0, -482, -482, -482, -482, 0, -482, -482, -482, -482, -482, -482, -482, -482, -482, 0, 0, 0, -482, -482, 0, 0, 0, 0, -482, -482, -482, -482, -482, // State 949 - 0, 0, 0, 0, 0, 0, 0, -735, 0, 0, 0, 0, 0, 0, -735, 0, 0, 0, 0, 0, 0, 0, 0, 0, -735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -735, 0, 0, 0, -735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -735, 0, -735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, // State 950 - 0, 0, 0, 0, 0, 0, 0, -770, 0, 0, 0, 0, 0, 0, -770, 0, 0, 0, 0, 0, 0, 0, 0, 0, -770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -770, 0, 0, 0, -770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -770, 0, -770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 951 - 0, 0, 0, 0, 0, 0, 0, -328, 0, 0, 0, 0, -328, 0, -328, -328, 0, 0, 0, 0, 0, 0, 0, 0, -328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -328, 0, 0, 0, -328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -328, 0, -328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -726, 0, 0, 0, 0, 0, 0, -726, 0, 0, 0, 0, 0, 0, 0, 0, 0, -726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 952 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -283, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 953 - 0, 0, 0, 0, 0, 0, 0, -740, 0, 0, 0, 0, 0, 0, -740, 0, 0, 0, 0, 0, 0, 0, 0, 0, -740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -740, 0, 0, 0, -740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -740, 0, -740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -288, 0, 0, 0, 0, 0, 0, -288, 0, 0, 0, 0, 0, 0, 0, 0, 0, -288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -288, 0, 0, 0, -288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -288, 0, -288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 954 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, + 0, 0, 0, 0, 0, 0, 0, -533, 0, 0, 0, 0, 0, 0, -533, 0, 0, 0, 0, 0, 0, 0, 0, 0, -533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -533, 0, 0, 0, -533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, 0, -533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 955 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -330, 0, 0, 0, 0, -330, 0, -330, -330, 0, 0, 0, 0, 0, 0, 0, 0, -330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -330, 0, 0, 0, -330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -330, 0, -330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 956 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -331, 0, 0, 0, 0, -331, 0, -331, -331, 0, 0, 0, 0, 0, 0, 0, 0, -331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -331, 0, 0, 0, -331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -331, 0, -331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 957 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -479, -259, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, -479, 0, 0, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 958 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -282, 0, 0, 0, 0, 0, 0, -282, 0, 0, 0, 0, 0, 0, 0, 0, 0, -282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -282, 0, 0, 0, -282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -282, 0, -282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 959 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, -287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -287, 0, -287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 960 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 0, 0, 0, 0, 0, -449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 961 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 351, -881, 0, 0, 0, 0, 0, 0, -881, 0, 0, 0, 352, 0, 0, 0, 0, 0, -881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -881, 0, 0, 0, -881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -881, 0, -881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 962 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -727, 0, 0, 0, 0, 0, 0, -727, 0, 0, 0, 0, 0, 0, 0, 0, 0, -727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -727, 0, 0, 0, 353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 963 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, -733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 964 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -286, 0, 0, 0, 0, 0, 0, -286, 0, 0, 0, 0, 0, 0, 0, 0, 0, -286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -286, 0, 0, 0, -286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -286, 0, -286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 965 - 0, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -454, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 966 - -472, 0, 0, 0, 0, 0, -472, 0, -472, 0, 0, 0, -472, 0, 0, -472, 0, 0, 0, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -472, 0, -472, -472, -472, -472, 0, 0, 0, 0, 0, -472, -472, -472, -472, 0, -472, -472, -472, -472, 0, 0, 0, 0, -472, -472, -472, -472, -472, 0, 0, -472, -472, -472, -472, 0, -472, -472, -472, -472, -472, -472, -472, -472, 0, 0, 0, -472, -472, 0, 0, 0, 0, -472, -472, -472, -472, -472, + 0, 0, 0, 0, 0, 0, 0, -534, 0, 0, 0, 0, 0, 0, -534, 0, 0, 0, 0, 0, 0, 0, 0, 0, -534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -534, 0, 0, 0, -534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, -534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 967 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, -732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 968 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -285, 0, 0, 0, 0, 0, 0, -285, 0, 0, 0, 0, 0, 0, 0, 0, 0, -285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -285, 0, 0, 0, -285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -285, 0, -285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 969 - -353, 0, 0, 0, 0, 0, -353, 0, -353, 0, 0, 0, -353, 0, 0, -353, 0, 0, 0, -353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -353, 0, -353, -353, -353, -353, 0, 0, 0, 0, 0, -353, -353, -353, -353, 0, -353, -353, -353, -353, 0, -353, -353, -353, -353, -353, -353, -353, -353, 0, 0, -353, -353, -353, -353, 0, -353, -353, -353, -353, -353, -353, -353, -353, 0, 0, 0, -353, -353, 0, 0, 0, 0, -353, -353, -353, -353, -353, + 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, -455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 970 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -453, 0, 0, 0, 0, 0, 0, -453, 0, 0, 0, 0, 0, 0, 0, 0, 0, -453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -453, 0, 0, 0, -453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -453, 0, -453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 971 - 0, 0, 0, 0, 0, 0, -779, 0, -779, 0, 0, 0, -779, 0, 0, -779, 0, 0, 0, -779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -779, 0, -779, -779, -779, -779, 0, 0, 0, 0, 0, -779, -779, -779, -779, 0, -779, -779, -779, -779, 0, 0, 0, 0, -779, -779, -779, -779, -779, 0, 0, -779, -779, -779, -779, 0, -779, -779, -779, -779, -779, -779, -779, -779, 0, 0, 0, -779, -779, 0, 0, 0, 0, -779, -779, -779, -779, -779, + 0, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -454, 0, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 972 - 0, 0, 0, 0, 0, 0, -787, 0, -787, 0, 0, 0, -787, 0, 0, -787, 0, 0, 0, -787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -787, 0, -787, -787, -787, -787, 0, 0, 0, 0, 0, -787, -787, -787, -787, 0, -787, -787, -787, -787, 0, 0, 0, 0, -787, -787, -787, -787, -787, 0, 0, -787, -787, -787, -787, 0, -787, -787, -787, -787, -787, -787, -787, -787, 0, 0, 0, -787, -787, 0, 0, 0, 0, -787, -787, -787, -787, -787, + -485, 0, 0, 0, 0, 0, -485, 0, -485, 0, 0, 0, -485, 0, 0, -485, 0, 0, 0, -485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -485, 0, -485, -485, -485, -485, 0, 0, 0, 0, 0, -485, -485, -485, -485, 0, -485, -485, -485, -485, 0, 0, 0, 0, -485, -485, -485, -485, -485, 0, 0, -485, -485, -485, -485, 0, -485, -485, -485, -485, -485, -485, -485, -485, -485, 0, 0, 0, -485, -485, 0, 0, 0, 0, -485, -485, -485, -485, -485, // State 973 - 1023, 0, 0, 0, 0, 0, -130, 0, -130, 0, 0, 0, -130, 0, 0, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, -130, -130, -130, 0, 0, 0, 0, 0, -130, 0, -130, -130, 0, 0, -130, 0, -130, 0, 0, 0, 0, 0, -130, -130, 0, -130, 0, 0, -130, 0, -130, -130, 0, -130, -130, -130, 0, 0, 0, -130, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, -130, -130, -130, -130, -130, + -848, 0, 0, 0, 0, 0, -848, 0, -848, 0, 0, 0, -848, 0, 0, -848, 0, 0, 0, -848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -848, 0, -848, -848, -848, -848, 0, 0, 0, 0, 0, -848, -848, -848, -848, 0, -848, -848, -848, -848, 0, 0, 0, 1035, -848, -848, -848, -848, -848, 0, 0, -848, -848, -848, -848, 0, -848, -848, -848, -848, -848, -848, -848, -848, -848, 0, 0, 0, -848, -848, 0, 0, 0, 0, -848, -848, -848, -848, -848, // State 974 - 0, 0, 0, 0, 0, 0, -784, 0, -784, 0, 0, 0, -784, 0, 0, -784, 0, 0, 0, -784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -784, 0, -784, -784, -784, -784, 0, 0, 0, 0, 0, -784, -784, -784, -784, 0, -784, -784, -784, -784, 0, 0, 0, 0, -784, -784, -784, -784, -784, 0, 0, -784, -784, -784, -784, 0, -784, -784, -784, -784, -784, -784, -784, -784, 0, 0, 0, -784, -784, 0, 0, 0, 0, -784, -784, -784, -784, -784, + -849, 0, 0, 0, 0, 0, -849, 0, -849, 0, 0, 0, -849, 0, 0, -849, 0, 0, 0, -849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -849, 0, -849, -849, -849, -849, 0, 0, 0, 0, 0, -849, -849, -849, -849, 0, -849, -849, -849, -849, 0, 0, 0, 0, -849, -849, -849, -849, -849, 0, 0, -849, -849, -849, -849, 0, -849, -849, -849, -849, -849, -849, -849, -849, -849, 0, 0, 0, -849, -849, 0, 0, 0, 0, -849, -849, -849, -849, -849, // State 975 - 0, -188, -188, 0, -188, 0, -188, 0, -188, -188, 0, 0, -188, 0, -188, -188, 0, 0, -188, 0, -188, -188, 0, 0, -215, 0, 0, -188, -188, 0, -188, 0, -188, -188, -188, -188, 0, -188, 0, 0, 0, 0, -188, 0, -188, 0, -188, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -188, 0, -188, -188, 0, 0, 0, -188, -188, 0, 0, 0, 0, 0, 0, 0, 0, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -852, 0, 0, 0, 0, 0, -852, 0, -852, 0, 0, 0, -852, 0, 0, -852, 0, 0, 0, -852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -852, 0, -852, -852, -852, -852, 0, 0, 0, 0, 0, -852, -852, -852, -852, 0, -852, -852, -852, -852, 0, 0, 0, 1036, -852, -852, -852, -852, -852, 0, 0, -852, -852, -852, -852, 0, -852, -852, -852, -852, -852, -852, -852, -852, -852, 0, 0, 0, -852, -852, 0, 0, 0, 0, -852, -852, -852, -852, -852, // State 976 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -853, 0, 0, 0, 0, 0, -853, 0, -853, 0, 0, 0, -853, 0, 0, -853, 0, 0, 0, -853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -853, 0, -853, -853, -853, -853, 0, 0, 0, 0, 0, -853, -853, -853, -853, 0, -853, -853, -853, -853, 0, 0, 0, 0, -853, -853, -853, -853, -853, 0, 0, -853, -853, -853, -853, 0, -853, -853, -853, -853, -853, -853, -853, -853, -853, 0, 0, 0, -853, -853, 0, 0, 0, 0, -853, -853, -853, -853, -853, // State 977 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, -651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -352, 0, 0, 0, 0, 0, -352, 0, -352, 0, 0, 0, -352, 0, 0, -352, 0, 0, 0, -352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -352, 0, -352, -352, -352, -352, 0, 0, 0, 0, 0, -352, -352, -352, -352, 0, -352, -352, -352, -352, 0, -352, -352, -352, -352, -352, -352, -352, -352, 0, 0, -352, -352, -352, -352, 0, -352, -352, -352, -352, -352, -352, -352, -352, -352, 0, 0, 0, -352, -352, 0, 0, 0, 0, -352, -352, -352, -352, -352, // State 978 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1026, 0, 0, 0, 0, 0, 0, 0, 0, 0, -642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 979 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -796, 0, -796, 0, 0, 0, -796, 0, 0, -796, 0, 0, 0, -796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -796, 0, -796, -796, -796, -796, 0, 0, 0, 0, 0, -796, -796, -796, -796, 0, -796, -796, -796, -796, 0, 0, 0, 0, -796, -796, -796, -796, -796, 0, 0, -796, -796, -796, -796, 0, -796, -796, -796, -796, -796, -796, -796, -796, -796, 0, 0, 0, -796, -796, 0, 0, 0, 0, -796, -796, -796, -796, -796, // State 980 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1039, 0, 0, 0, 0, 0, -130, 0, -130, 0, 0, 0, -130, 0, 0, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, -130, -130, -130, 0, 0, 0, 0, 0, -130, 0, -130, -130, 0, 0, -130, 0, -130, 0, 0, 0, 0, 0, -130, -130, 0, -130, 0, 0, -130, 0, -130, -130, 0, -130, -130, -130, 0, -130, 0, 0, -130, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, -130, -130, -130, -130, -130, // State 981 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, -647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -793, 0, -793, 0, 0, 0, -793, 0, 0, -793, 0, 0, 0, -793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -793, 0, -793, -793, -793, -793, 0, 0, 0, 0, 0, -793, -793, -793, -793, 0, -793, -793, -793, -793, 0, 0, 0, 0, -793, -793, -793, -793, -793, 0, 0, -793, -793, -793, -793, 0, -793, -793, -793, -793, -793, -793, -793, -793, -793, 0, 0, 0, -793, -793, 0, 0, 0, 0, -793, -793, -793, -793, -793, // State 982 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -614, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 983 - -387, 0, 0, 0, 0, 0, -387, 0, -387, 0, 0, 0, -387, 0, 0, -387, 0, 0, 0, -387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -387, 0, -387, -387, -387, -387, 0, 0, 0, 0, 0, -387, -387, -387, -387, 0, -387, -387, -387, -387, 0, 0, 0, 0, -387, -387, -387, -387, -387, 0, 0, -387, -387, -387, -387, 0, -387, -387, -387, -387, -387, -387, -387, -387, 0, 0, 0, -387, -387, 0, 0, 0, 0, -387, -387, -387, -387, -387, + 0, 0, 0, 0, 0, 0, -801, 0, -801, 0, 0, 0, -801, 0, 0, -801, 0, 0, 0, -801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -801, 0, -801, -801, -801, -801, 0, 0, 0, 0, 0, -801, -801, -801, -801, 0, -801, -801, -801, -801, 0, 0, 0, 0, -801, -801, -801, -801, -801, 0, 0, -801, -801, -801, -801, 0, -801, -801, -801, -801, -801, -801, -801, -801, -801, 0, 0, 0, -801, -801, 0, 0, 0, 0, -801, -801, -801, -801, -801, // State 984 - 0, 0, 0, 0, 0, 0, 0, -571, 0, 0, 0, 0, 0, 0, 1029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1042, 0, 0, 0, 0, 0, -129, 0, -129, 0, 0, 0, -129, 0, 0, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129, -129, -129, -129, 0, 0, 0, 0, 0, -129, 0, -129, -129, 0, 0, -129, 0, -129, 0, 0, 0, 0, 0, -129, -129, 0, -129, 0, 0, -129, 0, -129, -129, 0, -129, -129, -129, 0, -129, 0, 0, -129, -129, 0, 0, 0, -129, 0, 0, 0, 0, 0, -129, -129, -129, -129, -129, // State 985 - 0, 0, 0, 0, 0, 0, 0, -562, 0, 0, 0, 0, 0, 0, 1031, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -882, 0, 0, 0, 0, 0, -882, 0, -882, 0, 0, 0, -882, 0, 0, -882, 0, 0, 0, -882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -882, 0, -882, -882, -882, -882, 0, 0, 0, 0, 0, -882, -882, -882, -882, 0, -882, -882, -882, -882, 0, 0, 0, 0, -882, -882, -882, -882, -882, 0, 0, -882, -882, -882, -882, 0, -882, -882, -882, -882, -882, -882, -882, -882, -882, 0, 0, 0, -882, -882, 0, 0, 0, 0, -882, -882, -882, -882, -882, // State 986 - 0, 0, 0, 0, 0, 0, 0, -538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -192, -192, 0, -192, 0, -192, 0, -192, -192, 0, 0, -192, 0, -192, -192, 0, 0, -192, 0, -192, -192, 0, 0, -219, 0, 0, -192, -192, 0, -192, 0, -192, -192, -192, -192, 0, -192, 0, 0, 0, 0, -192, 0, -192, 0, -192, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, -192, -192, 0, 0, 0, -192, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 987 - 0, 0, 0, 0, 0, 0, 0, -594, 0, 0, 0, 0, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -186, -186, 0, -186, 0, -186, 0, -186, -186, 0, 0, -186, 0, -186, -186, 0, 0, -186, 0, -186, -186, 0, 0, -213, 0, 0, -186, -186, 0, -186, 0, -186, -186, -186, -186, 0, -186, 0, 0, 0, 0, -186, 0, -186, 0, -186, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -186, 0, -186, -186, 0, 0, 0, -186, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, -186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 988 - 0, 0, 0, 0, 0, 0, 0, -590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -897, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 989 - 0, 0, 0, 0, 0, 0, 0, -584, 0, 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 990 - 0, 0, 0, 0, 0, 0, 0, -597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 991 - -384, 0, 0, 0, 0, 0, -384, 0, -384, 0, 0, 0, -384, 0, 0, -384, 0, 0, 0, -384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -384, 0, -384, -384, -384, -384, 0, 0, 0, 0, 0, -384, -384, -384, -384, 0, -384, -384, -384, -384, 0, 0, 0, 0, -384, -384, -384, -384, -384, 0, 0, -384, -384, -384, -384, 0, -384, -384, -384, -384, -384, -384, -384, -384, 0, 0, 0, -384, -384, 0, 0, 0, 0, -384, -384, -384, -384, -384, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, -674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 992 - -106, 0, 0, 0, 0, 0, -106, 0, -106, 0, 0, 0, -106, 0, 0, -106, 0, 0, 0, -106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, 0, -106, -106, -106, -106, 0, 0, 0, 0, 0, -106, -106, -106, -106, 0, -106, -106, -106, -106, -106, -106, 0, 0, -106, -106, -106, -106, -106, 0, 0, -106, -106, -106, -106, 0, -106, -106, -106, -106, -106, -106, -106, -106, 0, 0, 0, -106, -106, 0, 0, 0, 0, -106, -106, -106, -106, -106, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1047, 0, 0, 0, 0, 0, 0, 0, 0, 0, -659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 993 - 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -841, 0, -841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0, 0, 0, 0, 0, 0, 0, -664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 994 - 0, 0, 0, 0, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 0, 0, 0, 0, 0, 0, 0, 0, -655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 995 - 0, 0, 0, 0, 0, 0, -467, -259, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, -467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 996 - 0, 0, 0, 0, 0, 0, 0, -503, 0, 0, 0, 0, 0, 0, -503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 997 - 0, 0, 0, 0, 0, 0, 0, 1036, 0, 0, 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -396, 0, 0, 0, 0, 0, -396, 0, -396, 0, 0, 0, -396, 0, 0, -396, 0, 0, 0, -396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -396, 0, -396, -396, -396, -396, 0, 0, 0, 0, 0, -396, -396, -396, -396, 0, -396, -396, -396, -396, 0, 0, 0, 0, -396, -396, -396, -396, -396, 0, 0, -396, -396, -396, -396, 0, -396, -396, -396, -396, -396, -396, -396, -396, -396, 0, 0, 0, -396, -396, 0, 0, 0, 0, -396, -396, -396, -396, -396, // State 998 - 0, 0, 0, 0, 0, 0, 0, 1037, 0, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -263, 0, 0, 0, 0, 0, -263, 0, -263, 0, 0, 0, -263, 0, 0, -263, 0, 0, 0, -263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -263, 0, -263, -263, -263, -263, 0, 0, 0, 0, 0, -263, -263, -263, -263, 0, -263, -263, -263, -263, 0, 0, 0, 0, -263, -263, -263, -263, -263, 0, 0, -263, -263, -263, -263, 0, -263, -263, -263, -263, -263, -263, -263, -263, -263, 0, 0, 0, -263, -263, 0, 0, 0, 0, -263, -263, -263, -263, -263, // State 999 - 0, 0, 0, 0, 0, 0, 0, -511, 0, 0, 0, 0, 0, 0, -511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -401, 0, 0, 0, 0, 0, -401, 0, -401, 0, 0, 0, -401, 0, 0, -401, 0, 0, 0, -401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -401, 0, -401, -401, -401, -401, 0, 0, 0, 0, 0, -401, -401, -401, -401, 0, -401, -401, -401, -401, 0, 0, 0, 0, -401, -401, -401, -401, -401, 0, 0, -401, -401, -401, -401, 0, -401, -401, -401, -401, -401, -401, -401, -401, -401, 0, 0, 0, -401, -401, 0, 0, 0, 0, -401, -401, -401, -401, -401, // State 1000 - 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -270, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -391, 0, 0, 0, 0, 0, -391, 0, -391, 0, 0, 0, -391, 0, 0, -391, 0, 0, 0, -391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -391, 0, -391, -391, -391, -391, 0, 0, 0, 0, 0, -391, -391, -391, -391, 0, -391, -391, -391, -391, 0, 0, 0, 0, -391, -391, -391, -391, -391, 0, 0, -391, -391, -391, -391, 0, -391, -391, -391, -391, -391, -391, -391, -391, -391, 0, 0, 0, -391, -391, 0, 0, 0, 0, -391, -391, -391, -391, -391, // State 1001 - 0, 0, 0, 0, 0, 0, -468, -468, 0, 0, 0, 0, 0, 0, -468, 0, 0, 0, -468, 0, 0, 0, 0, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -468, 0, 0, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -468, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1002 - 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -260, 0, 0, 0, 0, 0, -260, 0, -260, 0, 0, 0, -260, 0, 0, -260, 0, 0, 0, -260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -260, 0, -260, -260, -260, -260, 0, 0, 0, 0, 0, -260, -260, -260, -260, 0, -260, -260, -260, -260, 0, 0, 0, 0, -260, -260, -260, -260, -260, 0, 0, -260, -260, -260, -260, 0, -260, -260, -260, -260, -260, -260, -260, -260, -260, 0, 0, 0, -260, -260, 0, 0, 0, 0, -260, -260, -260, -260, -260, // State 1003 - 0, 0, 0, 0, 0, 0, 0, 1039, 0, 0, 0, 0, 0, 0, 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -398, 0, 0, 0, 0, 0, -398, 0, -398, 0, 0, 0, -398, 0, 0, -398, 0, 0, 0, -398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -398, 0, -398, -398, -398, -398, 0, 0, 0, 0, 0, -398, -398, -398, -398, 0, -398, -398, -398, -398, 0, 0, 0, 0, -398, -398, -398, -398, -398, 0, 0, -398, -398, -398, -398, 0, -398, -398, -398, -398, -398, -398, -398, -398, -398, 0, 0, 0, -398, -398, 0, 0, 0, 0, -398, -398, -398, -398, -398, // State 1004 - 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -594, 0, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1005 - 0, 0, 0, 0, 0, 0, -469, -469, 0, 0, 0, 0, 0, 0, -469, 0, 0, 0, -469, 0, 0, 0, 0, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -469, 0, 0, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -469, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -579, 0, 0, 0, 0, 0, 0, 1057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1006 - 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -607, 0, 0, 0, 0, 0, 0, 1059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1007 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -843, 0, 0, 0, 0, 0, 0, 0, 0, 0, -843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1008 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -462, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -619, 0, 0, 0, 0, 0, 0, 1061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1009 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1010 - 0, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -842, 0, -842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -513, 0, 0, 0, 0, 0, 0, -513, 0, 0, 0, 0, 0, 0, -513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1011 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -844, 0, 0, 0, 0, 0, 0, 0, 0, 0, -844, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -844, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -421, 0, 0, 0, 0, 0, -421, 0, -421, 0, 0, 0, -421, 0, 0, -421, 0, 0, 0, -421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -421, 0, -421, -421, -421, -421, 0, 0, 0, 0, 0, -421, -421, -421, -421, 0, -421, -421, -421, -421, 0, 0, 0, 0, -421, -421, -421, -421, -421, 0, 0, -421, -421, -421, -421, 0, -421, -421, -421, -421, -421, -421, -421, -421, -421, 0, 0, 0, -421, -421, 0, 0, 0, 0, -421, -421, -421, -421, -421, // State 1012 - 0, 0, 0, 0, 0, 0, 0, 1041, 0, 0, 0, 0, 0, 0, 1042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -105, 0, 0, 0, 0, 0, -105, 0, -105, 0, 0, 0, -105, 0, 0, -105, 0, 0, 0, -105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, -105, -105, -105, -105, 0, 0, 0, 0, 0, -105, -105, -105, -105, 0, -105, -105, -105, -105, -105, -105, 0, 0, -105, -105, -105, -105, -105, 0, 0, -105, -105, -105, -105, 0, -105, -105, -105, -105, -105, -105, -105, -105, -105, 0, 0, 0, -105, -105, 0, 0, 0, 0, -105, -105, -105, -105, -105, // State 1013 - 0, 0, 0, 0, 0, 0, 0, -734, 0, 0, 0, 0, 0, 0, -734, 0, 0, 0, 0, 0, 0, 0, 0, 0, -734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -734, 0, 0, 0, -734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -734, 0, -734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -483, 0, 0, 0, 0, 0, -483, 0, -483, 0, 0, 0, -483, 0, 0, -483, 0, 0, 0, -483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -483, 0, -483, -483, -483, -483, 0, 0, 0, 0, 0, -483, -483, -483, -483, 0, -483, -483, -483, -483, 0, 0, 0, 0, -483, -483, -483, -483, -483, 0, 0, -483, -483, -483, -483, 0, -483, -483, -483, -483, -483, -483, -483, -483, -483, 0, 0, 0, -483, -483, 0, 0, 0, 0, -483, -483, -483, -483, -483, // State 1014 - 0, 0, 0, 0, 0, 0, -124, 1043, -124, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -124, -124, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -124, -124, -124, -124, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1015 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 0, 0, 0, 0, 1085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1016 - 0, 0, 0, 0, 0, 0, 0, -742, 0, 0, 0, 0, 0, 0, -742, 0, 0, 0, 0, 0, 0, 0, 0, 0, -742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -742, 0, 0, 0, -742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -742, 0, -742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -749, 0, 0, 0, 0, 0, 0, -749, 0, 0, 0, 0, 0, 0, 0, 0, 0, -749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -749, 0, 0, 0, -749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -749, 0, -749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1017 - 0, 0, 0, 0, 0, 0, -124, 0, -124, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -124, -124, -124, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -124, -124, -124, -124, + 0, 0, 0, 0, 0, 0, 0, -785, 0, 0, 0, 0, 0, 0, -785, 0, 0, 0, 0, 0, 0, 0, 0, 0, -785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -785, 0, 0, 0, -785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -785, 0, -785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1018 - 0, 0, 0, 0, 0, 0, 0, -739, 0, 0, 0, 0, 0, 0, -739, 0, 0, 0, 0, 0, 0, 0, 0, 0, -739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -739, 0, 0, 0, -739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -739, 0, -739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -332, 0, 0, 0, 0, -332, 0, -332, -332, 0, 0, 0, 0, 0, 0, 0, 0, -332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -332, 0, 0, 0, -332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -332, 0, -332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1019 - 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1020 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -754, 0, 0, 0, 0, 0, 0, -754, 0, 0, 0, 0, 0, 0, 0, 0, 0, -754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -754, 0, 0, 0, -754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -754, 0, -754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1021 - -350, 0, 0, 0, 0, 0, -350, 0, -350, 0, 0, 0, -350, 0, 0, -350, 0, 0, 0, -350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -350, 0, -350, -350, -350, -350, 0, 0, 0, 0, 0, -350, -350, -350, -350, 0, -350, -350, -350, -350, 0, -350, -350, -350, -350, -350, -350, -350, -350, 0, 0, -350, -350, -350, -350, 0, -350, -350, -350, -350, -350, -350, -350, -350, 0, 0, 0, -350, -350, 0, 0, 0, 0, -350, -350, -350, -350, -350, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, // State 1022 - 0, 0, 0, 0, 0, 0, -785, 0, -785, 0, 0, 0, -785, 0, 0, -785, 0, 0, 0, -785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -785, 0, -785, -785, -785, -785, 0, 0, 0, 0, 0, -785, -785, -785, -785, 0, -785, -785, -785, -785, 0, 0, 0, 0, -785, -785, -785, -785, -785, 0, 0, -785, -785, -785, -785, 0, -785, -785, -785, -785, -785, -785, -785, -785, 0, 0, 0, -785, -785, 0, 0, 0, 0, -785, -785, -785, -785, -785, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1023 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1024 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1054, 0, 0, 0, 0, 0, 0, 0, 0, 0, -648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1025 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1026 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1027 - -382, 0, 0, 0, 0, 0, -382, 0, -382, 0, 0, 0, -382, 0, 0, -382, 0, 0, 0, -382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -382, 0, -382, -382, -382, -382, 0, 0, 0, 0, 0, -382, -382, -382, -382, 0, -382, -382, -382, -382, 0, 0, 0, 0, -382, -382, -382, -382, -382, 0, 0, -382, -382, -382, -382, 0, -382, -382, -382, -382, -382, -382, -382, -382, 0, 0, 0, -382, -382, 0, 0, 0, 0, -382, -382, -382, -382, -382, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, 0, 0, 0, 0, 0, -461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1028 - 0, 0, 0, 0, 0, 0, 0, -544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1029 - 0, 0, 0, 0, 0, 0, 0, -568, 0, 0, 0, 0, 0, 0, 1055, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1030 - 0, 0, 0, 0, 0, 0, 0, -535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1031 - 0, 0, 0, 0, 0, 0, 0, -591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1032 - 0, 0, 0, 0, 0, 0, 0, -585, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, -466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, 0, -466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1033 - 0, 0, 0, 0, 0, 0, 0, -581, 0, 0, 0, 0, 0, 0, 356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -484, 0, 0, 0, 0, 0, -484, 0, -484, 0, 0, 0, -484, 0, 0, -484, 0, 0, 0, -484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -484, 0, -484, -484, -484, -484, 0, 0, 0, 0, 0, -484, -484, -484, -484, 0, -484, -484, -484, -484, 0, 0, 0, 0, -484, -484, -484, -484, -484, 0, 0, -484, -484, -484, -484, 0, -484, -484, -484, -484, -484, -484, -484, -484, -484, 0, 0, 0, -484, -484, 0, 0, 0, 0, -484, -484, -484, -484, -484, // State 1034 - 0, 0, 0, 0, 0, 0, 0, -566, 0, 0, 0, 0, 0, 0, 1060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1035 - 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1036 - 0, 0, 0, 0, 0, 0, 0, -267, 0, 0, 0, 0, 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -267, 0, 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -267, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -357, 0, 0, 0, 0, 0, -357, 0, -357, 0, 0, 0, -357, 0, 0, -357, 0, 0, 0, -357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -357, 0, -357, -357, -357, -357, 0, 0, 0, 0, 0, -357, -357, -357, -357, 0, -357, -357, -357, -357, 0, -357, -357, -357, -357, -357, -357, -357, -357, 0, 0, -357, -357, -357, -357, 0, -357, -357, -357, -357, -357, -357, -357, -357, -357, 0, 0, 0, -357, -357, 0, 0, 0, 0, -357, -357, -357, -357, -357, // State 1037 - 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1038 - 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -794, 0, -794, 0, 0, 0, -794, 0, 0, -794, 0, 0, 0, -794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -794, 0, -794, -794, -794, -794, 0, 0, 0, 0, 0, -794, -794, -794, -794, 0, -794, -794, -794, -794, 0, 0, 0, 0, -794, -794, -794, -794, -794, 0, 0, -794, -794, -794, -794, 0, -794, -794, -794, -794, -794, -794, -794, -794, -794, 0, 0, 0, -794, -794, 0, 0, 0, 0, -794, -794, -794, -794, -794, // State 1039 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -802, 0, -802, 0, 0, 0, -802, 0, 0, -802, 0, 0, 0, -802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -802, 0, -802, -802, -802, -802, 0, 0, 0, 0, 0, -802, -802, -802, -802, 0, -802, -802, -802, -802, 0, 0, 0, 0, -802, -802, -802, -802, -802, 0, 0, -802, -802, -802, -802, 0, -802, -802, -802, -802, -802, -802, -802, -802, -802, 0, 0, 0, -802, -802, 0, 0, 0, 0, -802, -802, -802, -802, -802, // State 1040 - 0, 0, 0, 0, 0, 0, 0, -738, 0, 0, 0, 0, 0, 0, -738, 0, 0, 0, 0, 0, 0, 0, 0, 0, -738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -738, 0, 0, 0, -738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -738, 0, -738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1093, 0, 0, 0, 0, 0, -130, 0, -130, 0, 0, 0, -130, 0, 0, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, -130, -130, -130, 0, 0, 0, 0, 0, -130, 0, -130, -130, 0, 0, -130, 0, -130, 0, 0, 0, 0, 0, -130, -130, 0, -130, 0, 0, -130, 0, -130, -130, 0, -130, -130, -130, 0, -130, 0, 0, -130, -130, 0, 0, 0, -130, 0, 0, 0, 0, 0, -130, -130, -130, -130, -130, // State 1041 - 0, 0, 0, 0, 0, 0, -125, 1071, -125, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, -125, -125, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, -125, -125, -125, -125, + 0, 0, 0, 0, 0, 0, -799, 0, -799, 0, 0, 0, -799, 0, 0, -799, 0, 0, 0, -799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -799, 0, -799, -799, -799, -799, 0, 0, 0, 0, 0, -799, -799, -799, -799, 0, -799, -799, -799, -799, 0, 0, 0, 0, -799, -799, -799, -799, -799, 0, 0, -799, -799, -799, -799, 0, -799, -799, -799, -799, -799, -799, -799, -799, -799, 0, 0, 0, -799, -799, 0, 0, 0, 0, -799, -799, -799, -799, -799, // State 1042 - 0, 0, 0, 0, 0, 0, 0, -736, 0, 0, 0, 0, 0, 0, -736, 0, 0, 0, 0, 0, 0, 0, 0, 0, -736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -736, 0, 0, 0, -736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -736, 0, -736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -188, -188, 0, -188, 0, -188, 0, -188, -188, 0, 0, -188, 0, -188, -188, 0, 0, -188, 0, -188, -188, 0, 0, -215, 0, 0, -188, -188, 0, -188, 0, -188, -188, -188, -188, 0, -188, 0, 0, 0, 0, -188, 0, -188, 0, -188, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -188, 0, -188, -188, 0, 0, 0, -188, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1043 - 0, 0, 0, 0, 0, 0, -125, 0, -125, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, -125, -125, -125, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, -125, -125, -125, -125, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1044 - 0, 0, 0, 0, 0, 0, 0, -741, 0, 0, 0, 0, 0, 0, -741, 0, 0, 0, 0, 0, 0, 0, 0, 0, -741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -741, 0, 0, 0, -741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -741, 0, -741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0, -665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1045 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0, 0, 0, 0, 0, 0, 0, -656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1046 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1047 - 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, -455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1048 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1097, 0, 0, 0, 0, 0, 0, 0, 0, 0, -661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1049 - 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1050 - -832, 0, 0, 0, 0, 0, -832, 0, -832, 0, 0, 0, -832, 0, 0, -832, 0, 0, 0, -832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -832, 0, -832, -832, -832, -832, 0, 0, 0, 0, 0, -832, -832, -832, -832, 0, -832, -832, -832, -832, 0, 0, 0, 0, -832, -832, -832, -832, -832, 0, 0, -832, -832, -832, -832, 0, -832, -832, -832, -832, -832, -832, -832, -832, 0, 0, 0, -832, -832, 0, 0, 0, 0, -832, -832, -832, -832, -832, + -393, 0, 0, 0, 0, 0, -393, 0, -393, 0, 0, 0, -393, 0, 0, -393, 0, 0, 0, -393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -393, 0, -393, -393, -393, -393, 0, 0, 0, 0, 0, -393, -393, -393, -393, 0, -393, -393, -393, -393, 0, 0, 0, 0, -393, -393, -393, -393, -393, 0, 0, -393, -393, -393, -393, 0, -393, -393, -393, -393, -393, -393, -393, -393, -393, 0, 0, 0, -393, -393, 0, 0, 0, 0, -393, -393, -393, -393, -393, // State 1051 - -836, 0, 0, 0, 0, 0, -836, 0, -836, 0, 0, 0, -836, 0, 0, -836, 0, 0, 0, -836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -836, 0, -836, -836, -836, -836, 0, 0, 0, 0, 0, -836, -836, -836, -836, 0, -836, -836, -836, -836, 0, 0, 0, 0, -836, -836, -836, -836, -836, 0, 0, -836, -836, -836, -836, 0, -836, -836, -836, -836, -836, -836, -836, -836, 0, 0, 0, -836, -836, 0, 0, 0, 0, -836, -836, -836, -836, -836, + -262, 0, 0, 0, 0, 0, -262, 0, -262, 0, 0, 0, -262, 0, 0, -262, 0, 0, 0, -262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -262, 0, -262, -262, -262, -262, 0, 0, 0, 0, 0, -262, -262, -262, -262, 0, -262, -262, -262, -262, 0, 0, 0, 0, -262, -262, -262, -262, -262, 0, 0, -262, -262, -262, -262, 0, -262, -262, -262, -262, -262, -262, -262, -262, -262, 0, 0, 0, -262, -262, 0, 0, 0, 0, -262, -262, -262, -262, -262, // State 1052 - -354, 0, 0, 0, 0, 0, -354, 0, -354, 0, 0, 0, -354, 0, 0, -354, 0, 0, 0, -354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -354, 0, -354, -354, -354, -354, 0, 0, 0, 0, 0, -354, -354, -354, -354, 0, -354, -354, -354, -354, 0, -354, -354, -354, -354, -354, -354, -354, -354, 0, 0, -354, -354, -354, -354, 0, -354, -354, -354, -354, -354, -354, -354, -354, 0, 0, 0, -354, -354, 0, 0, 0, 0, -354, -354, -354, -354, -354, + -400, 0, 0, 0, 0, 0, -400, 0, -400, 0, 0, 0, -400, 0, 0, -400, 0, 0, 0, -400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -400, 0, -400, -400, -400, -400, 0, 0, 0, 0, 0, -400, -400, -400, -400, 0, -400, -400, -400, -400, 0, 0, 0, 0, -400, -400, -400, -400, -400, 0, 0, -400, -400, -400, -400, 0, -400, -400, -400, -400, -400, -400, -400, -400, -400, 0, 0, 0, -400, -400, 0, 0, 0, 0, -400, -400, -400, -400, -400, // State 1053 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -390, 0, 0, 0, 0, 0, -390, 0, -390, 0, 0, 0, -390, 0, 0, -390, 0, 0, 0, -390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -390, 0, -390, -390, -390, -390, 0, 0, 0, 0, 0, -390, -390, -390, -390, 0, -390, -390, -390, -390, 0, 0, 0, 0, -390, -390, -390, -390, -390, 0, 0, -390, -390, -390, -390, 0, -390, -390, -390, -390, -390, -390, -390, -390, -390, 0, 0, 0, -390, -390, 0, 0, 0, 0, -390, -390, -390, -390, -390, // State 1054 - 0, 0, 0, 0, 0, 0, 0, -541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -585, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1055 - 0, 0, 0, 0, 0, 0, 0, -582, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -576, 0, 0, 0, 0, 0, 0, 1102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1056 - 0, 0, 0, 0, 0, 0, 0, -567, 0, 0, 0, 0, 0, 0, 1076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1057 - 0, 0, 0, 0, 0, 0, 0, -572, 0, 0, 0, 0, 0, 0, 1077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -608, 0, 0, 0, 0, 0, 0, 1103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1058 - 0, 0, 0, 0, 0, 0, 0, -563, 0, 0, 0, 0, 0, 0, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1059 - 0, 0, 0, 0, 0, 0, 0, -539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -598, 0, 0, 0, 0, 0, 0, 379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1060 - 0, 0, 0, 0, 0, 0, 0, -465, 0, 0, 0, 0, 0, 0, -465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1061 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -388, 0, 0, 0, 0, 0, -388, 0, -388, 0, 0, 0, -388, 0, 0, -388, 0, 0, 0, -388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -388, 0, -388, -388, -388, -388, 0, 0, 0, 0, 0, -388, -388, -388, -388, 0, -388, -388, -388, -388, 0, 0, 0, 0, -388, -388, -388, -388, -388, 0, 0, -388, -388, -388, -388, 0, -388, -388, -388, -388, -388, -388, -388, -388, -388, 0, 0, 0, -388, -388, 0, 0, 0, 0, -388, -388, -388, -388, -388, // State 1062 - 0, 0, 0, 0, 0, 0, 0, -504, 0, 0, 0, 0, 0, 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -106, 0, 0, 0, 0, 0, -106, 0, -106, 0, 0, 0, -106, 0, 0, -106, 0, 0, 0, -106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, 0, -106, -106, -106, -106, 0, 0, 0, 0, 0, -106, -106, -106, -106, 0, -106, -106, -106, -106, -106, -106, 0, 0, -106, -106, -106, -106, -106, 0, 0, -106, -106, -106, -106, 0, -106, -106, -106, -106, -106, -106, -106, -106, -106, 0, 0, 0, -106, -106, 0, 0, 0, 0, -106, -106, -106, -106, -106, // State 1063 - 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -856, 0, 0, 0, 0, 0, 0, -856, 0, 0, 0, 0, 0, 0, 0, 0, 0, -856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -856, 0, 0, 0, -856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -856, 0, -856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1064 - 0, 0, 0, 0, 0, 0, 0, 1080, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, 0, -151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1065 - 0, 0, 0, 0, 0, 0, 0, -512, 0, 0, 0, 0, 0, 0, -512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -479, -259, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, -479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1066 - 0, 0, 0, 0, 0, 0, 0, -266, 0, 0, 0, 0, 0, 0, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -266, 0, 0, 0, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -266, 0, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -515, 0, 0, 0, 0, 0, 0, -515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1067 - 0, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1107, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1068 - 0, 0, 0, 0, 0, 0, 0, 1081, 0, 0, 0, 0, 0, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1108, 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1069 - 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, -273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -523, 0, 0, 0, 0, 0, 0, -523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1070 - 0, 0, 0, 0, 0, 0, 0, -737, 0, 0, 0, 0, 0, 0, -737, 0, 0, 0, 0, 0, 0, 0, 0, 0, -737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -737, 0, 0, 0, -737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -737, 0, -737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1071 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -480, -480, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, -480, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -480, 0, -480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1072 - 0, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -457, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1109, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1073 - 0, 0, 0, 0, 0, 0, 0, -573, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1110, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1074 - 0, 0, 0, 0, 0, 0, 0, -564, 0, 0, 0, 0, 0, 0, 1086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1075 - 0, 0, 0, 0, 0, 0, 0, -540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -481, -481, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, -481, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, 0, -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1076 - 0, 0, 0, 0, 0, 0, 0, -545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1077 - 0, 0, 0, 0, 0, 0, 0, -569, 0, 0, 0, 0, 0, 0, 1087, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -858, 0, 0, 0, 0, 0, 0, 0, 0, 0, -858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1078 - 0, 0, 0, 0, 0, 0, 0, -536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -474, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1079 - 0, 0, 0, 0, 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -265, 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -265, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1080 - 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, -272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -857, 0, 0, 0, 0, 0, 0, -857, 0, 0, 0, 0, 0, 0, 0, 0, 0, -857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -857, 0, 0, 0, -857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -857, 0, -857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1081 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -859, 0, 0, 0, 0, 0, 0, 0, 0, 0, -859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1082 - 0, 0, 0, 0, 0, 0, 0, -460, 0, 0, 0, 0, 0, 0, -460, 0, 0, 0, 0, 0, 0, 0, 0, 0, -460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -460, 0, 0, 0, -460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -460, 0, -460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1112, 0, 0, 0, 0, 0, 0, 1113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1083 - 0, 0, 0, 0, 0, 0, 0, -546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -748, 0, 0, 0, 0, 0, 0, -748, 0, 0, 0, 0, 0, 0, 0, 0, 0, -748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -748, 0, 0, 0, -748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -748, 0, -748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1084 - 0, 0, 0, 0, 0, 0, 0, -570, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -124, 1114, -124, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -124, -124, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -124, -124, -124, -124, // State 1085 - 0, 0, 0, 0, 0, 0, 0, -537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1086 - 0, 0, 0, 0, 0, 0, 0, -542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -756, 0, 0, 0, 0, 0, 0, -756, 0, 0, 0, 0, 0, 0, 0, 0, 0, -756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -756, 0, 0, 0, -756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -756, 0, -756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1087 - 0, 0, 0, 0, 0, 0, 0, -264, 0, 0, 0, 0, 0, 0, -264, 0, 0, 0, 0, 0, 0, 0, 0, 0, -264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -264, 0, 0, 0, -264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -264, 0, -264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -124, 0, -124, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -124, -124, -124, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -124, -124, -124, -124, // State 1088 - 0, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -271, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -753, 0, 0, 0, 0, 0, 0, -753, 0, 0, 0, 0, 0, 0, 0, 0, 0, -753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -753, 0, 0, 0, -753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -753, 0, -753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1089 - 0, 0, 0, 0, 0, 0, 0, -459, 0, 0, 0, 0, 0, 0, -459, 0, 0, 0, 0, 0, 0, 0, 0, 0, -459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -459, 0, 0, 0, -459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -459, 0, -459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -468, 0, 0, 0, 0, 0, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -468, 0, 0, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -468, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // State 1090 - 0, 0, 0, 0, 0, 0, 0, -543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1091 + -354, 0, 0, 0, 0, 0, -354, 0, -354, 0, 0, 0, -354, 0, 0, -354, 0, 0, 0, -354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -354, 0, -354, -354, -354, -354, 0, 0, 0, 0, 0, -354, -354, -354, -354, 0, -354, -354, -354, -354, 0, -354, -354, -354, -354, -354, -354, -354, -354, 0, 0, -354, -354, -354, -354, 0, -354, -354, -354, -354, -354, -354, -354, -354, -354, 0, 0, 0, -354, -354, 0, 0, 0, 0, -354, -354, -354, -354, -354, + // State 1092 + 0, 0, 0, 0, 0, 0, -800, 0, -800, 0, 0, 0, -800, 0, 0, -800, 0, 0, 0, -800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -800, 0, -800, -800, -800, -800, 0, 0, 0, 0, 0, -800, -800, -800, -800, 0, -800, -800, -800, -800, 0, 0, 0, 0, -800, -800, -800, -800, -800, 0, 0, -800, -800, -800, -800, 0, -800, -800, -800, -800, -800, -800, -800, -800, -800, 0, 0, 0, -800, -800, 0, 0, 0, 0, -800, -800, -800, -800, -800, + // State 1093 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1094 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1125, 0, 0, 0, 0, 0, 0, 0, 0, 0, -662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1095 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1096 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1097 + -392, 0, 0, 0, 0, 0, -392, 0, -392, 0, 0, 0, -392, 0, 0, -392, 0, 0, 0, -392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -392, 0, -392, -392, -392, -392, 0, 0, 0, 0, 0, -392, -392, -392, -392, 0, -392, -392, -392, -392, 0, 0, 0, 0, -392, -392, -392, -392, -392, 0, 0, -392, -392, -392, -392, 0, -392, -392, -392, -392, -392, -392, -392, -392, -392, 0, 0, 0, -392, -392, 0, 0, 0, 0, -392, -392, -392, -392, -392, + // State 1098 + -386, 0, 0, 0, 0, 0, -386, 0, -386, 0, 0, 0, -386, 0, 0, -386, 0, 0, 0, -386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -386, 0, -386, -386, -386, -386, 0, 0, 0, 0, 0, -386, -386, -386, -386, 0, -386, -386, -386, -386, 0, 0, 0, 0, -386, -386, -386, -386, -386, 0, 0, -386, -386, -386, -386, 0, -386, -386, -386, -386, -386, -386, -386, -386, -386, 0, 0, 0, -386, -386, 0, 0, 0, 0, -386, -386, -386, -386, -386, + // State 1099 + 0, 0, 0, 0, 0, 0, 0, -558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1100 + 0, 0, 0, 0, 0, 0, 0, -582, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1101 + 0, 0, 0, 0, 0, 0, 0, -549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1102 + 0, 0, 0, 0, 0, 0, 0, -605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1103 + 0, 0, 0, 0, 0, 0, 0, -599, 0, 0, 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1104 + 0, 0, 0, 0, 0, 0, 0, -595, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1105 + 0, 0, 0, 0, 0, 0, 0, -580, 0, 0, 0, 0, 0, 0, 1131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1106 + 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, -273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1107 + 0, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -271, 0, -271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1108 + 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, -280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1109 + 0, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -278, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1110 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -473, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1111 + 0, 0, 0, 0, 0, 0, 0, -752, 0, 0, 0, 0, 0, 0, -752, 0, 0, 0, 0, 0, 0, 0, 0, 0, -752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -752, 0, 0, 0, -752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -752, 0, -752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1112 + 0, 0, 0, 0, 0, 0, -125, 1142, -125, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, -125, -125, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, -125, -125, -125, -125, + // State 1113 + 0, 0, 0, 0, 0, 0, 0, -750, 0, 0, 0, 0, 0, 0, -750, 0, 0, 0, 0, 0, 0, 0, 0, 0, -750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -750, 0, 0, 0, -750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -750, 0, -750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1114 + 0, 0, 0, 0, 0, 0, -125, 0, -125, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, -125, -125, -125, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, -125, -125, -125, -125, + // State 1115 + 0, 0, 0, 0, 0, 0, 0, -755, 0, 0, 0, 0, 0, 0, -755, 0, 0, 0, 0, 0, 0, 0, 0, 0, -755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -755, 0, 0, 0, -755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -755, 0, -755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1116 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1117 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1118 + 0, 0, 0, 0, 0, 0, 0, -467, 0, 0, 0, 0, 0, 0, -467, 0, 0, 0, 0, 0, 0, 0, 0, 0, -467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -467, 0, 0, 0, -467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -467, 0, -467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1119 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1120 + 0, 0, 0, 0, 0, 0, 0, -470, 0, 0, 0, 0, 0, 0, -470, 0, 0, 0, 0, 0, 0, 0, 0, 0, -470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -470, 0, 0, 0, -470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -470, 0, -470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1121 + -847, 0, 0, 0, 0, 0, -847, 0, -847, 0, 0, 0, -847, 0, 0, -847, 0, 0, 0, -847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -847, 0, -847, -847, -847, -847, 0, 0, 0, 0, 0, -847, -847, -847, -847, 0, -847, -847, -847, -847, 0, 0, 0, 0, -847, -847, -847, -847, -847, 0, 0, -847, -847, -847, -847, 0, -847, -847, -847, -847, -847, -847, -847, -847, -847, 0, 0, 0, -847, -847, 0, 0, 0, 0, -847, -847, -847, -847, -847, + // State 1122 + -851, 0, 0, 0, 0, 0, -851, 0, -851, 0, 0, 0, -851, 0, 0, -851, 0, 0, 0, -851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -851, 0, -851, -851, -851, -851, 0, 0, 0, 0, 0, -851, -851, -851, -851, 0, -851, -851, -851, -851, 0, 0, 0, 0, -851, -851, -851, -851, -851, 0, 0, -851, -851, -851, -851, 0, -851, -851, -851, -851, -851, -851, -851, -851, -851, 0, 0, 0, -851, -851, 0, 0, 0, 0, -851, -851, -851, -851, -851, + // State 1123 + -358, 0, 0, 0, 0, 0, -358, 0, -358, 0, 0, 0, -358, 0, 0, -358, 0, 0, 0, -358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, -358, -358, -358, -358, 0, 0, 0, 0, 0, -358, -358, -358, -358, 0, -358, -358, -358, -358, 0, -358, -358, -358, -358, -358, -358, -358, -358, 0, 0, -358, -358, -358, -358, 0, -358, -358, -358, -358, -358, -358, -358, -358, -358, 0, 0, 0, -358, -358, 0, 0, 0, 0, -358, -358, -358, -358, -358, + // State 1124 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1125 + 0, 0, 0, 0, 0, 0, 0, -555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1126 + 0, 0, 0, 0, 0, 0, 0, -596, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1127 + 0, 0, 0, 0, 0, 0, 0, -581, 0, 0, 0, 0, 0, 0, 1147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1128 + 0, 0, 0, 0, 0, 0, 0, -586, 0, 0, 0, 0, 0, 0, 1148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1129 + 0, 0, 0, 0, 0, 0, 0, -577, 0, 0, 0, 0, 0, 0, 1150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1130 + 0, 0, 0, 0, 0, 0, 0, -553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1131 + 0, 0, 0, 0, 0, 0, 0, -477, 0, 0, 0, 0, 0, 0, -477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1132 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1133 + 0, 0, 0, 0, 0, 0, 0, -516, 0, 0, 0, 0, 0, 0, -516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1134 + 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, -272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1135 + 0, 0, 0, 0, 0, 0, 0, 1151, 0, 0, 0, 0, 0, 0, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1136 + 0, 0, 0, 0, 0, 0, 0, -524, 0, 0, 0, 0, 0, 0, -524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1137 + 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -270, 0, -270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1138 + 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1139 + 0, 0, 0, 0, 0, 0, 0, 1152, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1140 + 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1141 + 0, 0, 0, 0, 0, 0, 0, -751, 0, 0, 0, 0, 0, 0, -751, 0, 0, 0, 0, 0, 0, 0, 0, 0, -751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -751, 0, 0, 0, -751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -751, 0, -751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1142 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1143 + 0, 0, 0, 0, 0, 0, 0, -469, 0, 0, 0, 0, 0, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -469, 0, 0, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -469, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1144 + 0, 0, 0, 0, 0, 0, 0, -587, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1145 + 0, 0, 0, 0, 0, 0, 0, -578, 0, 0, 0, 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1146 + 0, 0, 0, 0, 0, 0, 0, -554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1147 + 0, 0, 0, 0, 0, 0, 0, -559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1148 + 0, 0, 0, 0, 0, 0, 0, -583, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1149 + 0, 0, 0, 0, 0, 0, 0, -550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1150 + 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1151 + 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1152 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1153 + 0, 0, 0, 0, 0, 0, 0, -472, 0, 0, 0, 0, 0, 0, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -472, 0, 0, 0, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -472, 0, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1154 + 0, 0, 0, 0, 0, 0, 0, -560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1155 + 0, 0, 0, 0, 0, 0, 0, -584, 0, 0, 0, 0, 0, 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1156 + 0, 0, 0, 0, 0, 0, 0, -551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1157 + 0, 0, 0, 0, 0, 0, 0, -556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1158 + 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1159 + 0, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1160 + 0, 0, 0, 0, 0, 0, 0, -471, 0, 0, 0, 0, 0, 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -471, 0, 0, 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -471, 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // State 1161 + 0, 0, 0, 0, 0, 0, 0, -557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ]; fn __action(state: i16, integer: usize) -> i16 { - __ACTION[(state as usize) * 95 + integer] + __ACTION[(state as usize) * 96 + integer] } const __EOF_ACTION: &[i16] = &[ // State 0 @@ -2319,19 +2466,19 @@ mod __parse__Top { // State 1 0, // State 2 - -724, + -738, // State 3 - -724, + -738, // State 4 0, // State 5 0, // State 6 - -746, + -760, // State 7 - -307, + -311, // State 8 - -830, + -845, // State 9 -153, // State 10 @@ -2353,9 +2500,9 @@ mod __parse__Top { // State 18 0, // State 19 - -829, + -844, // State 20 - -828, + -843, // State 21 0, // State 22 @@ -2369,13 +2516,13 @@ mod __parse__Top { // State 26 0, // State 27 - -306, + -310, // State 28 0, // State 29 0, // State 30 - -403, + -415, // State 31 0, // State 32 @@ -2445,11 +2592,11 @@ mod __parse__Top { // State 64 0, // State 65 - -152, + 0, // State 66 - -164, + -152, // State 67 - 0, + -164, // State 68 0, // State 69 @@ -2461,9 +2608,9 @@ mod __parse__Top { // State 72 0, // State 73 - -745, - // State 74 0, + // State 74 + -759, // State 75 0, // State 76 @@ -2699,11 +2846,11 @@ mod __parse__Top { // State 191 0, // State 192 - -410, + 0, // State 193 - -835, + 0, // State 194 - -839, + 0, // State 195 0, // State 196 @@ -2725,11 +2872,11 @@ mod __parse__Top { // State 204 0, // State 205 - 0, + -422, // State 206 - 0, + -850, // State 207 - 0, + -854, // State 208 0, // State 209 @@ -3033,141 +3180,141 @@ mod __parse__Top { // State 358 0, // State 359 - -885, + 0, // State 360 - -178, + 0, // State 361 - -879, + 0, // State 362 - -522, + 0, // State 363 - -234, + 0, // State 364 - -243, + 0, // State 365 - -721, + 0, // State 366 - -486, + 0, // State 367 - -179, + 0, // State 368 - -807, + 0, // State 369 - -180, + 0, // State 370 - -812, + 0, // State 371 - -157, + 0, // State 372 - -404, + 0, // State 373 - -811, + 0, // State 374 - -373, + 0, // State 375 - -824, + 0, // State 376 - -823, + 0, // State 377 - -515, + 0, // State 378 - -358, + 0, // State 379 0, // State 380 0, // State 381 - -206, + 0, // State 382 - -204, + 0, // State 383 - -205, + 0, // State 384 - -203, + 0, // State 385 0, // State 386 - -325, + 0, // State 387 - -324, + 0, // State 388 - -323, + 0, // State 389 - -407, + 0, // State 390 - -136, + 0, // State 391 - -521, + 0, // State 392 - -156, + -911, // State 393 - -137, + -178, // State 394 - 0, + -905, // State 395 - 0, + -536, // State 396 - 0, + -234, // State 397 - 0, + -243, // State 398 - 0, + -735, // State 399 - 0, + -498, // State 400 - 0, + -179, // State 401 - 0, + -822, // State 402 - 0, + -180, // State 403 - 0, + -827, // State 404 - 0, + -157, // State 405 - 0, + -416, // State 406 - -831, + -826, // State 407 - -88, + -377, // State 408 - 0, + -839, // State 409 - 0, + -838, // State 410 - 0, + -527, // State 411 - 0, + -362, // State 412 0, // State 413 0, // State 414 - 0, + -206, // State 415 - 0, + -204, // State 416 - -372, + -205, // State 417 - 0, + -203, // State 418 0, // State 419 - 0, + -329, // State 420 - 0, + -328, // State 421 - 0, + -327, // State 422 - 0, + -419, // State 423 - -194, + -136, // State 424 - -769, + -535, // State 425 - 0, + -156, // State 426 - 0, + -137, // State 427 0, // State 428 @@ -3177,9 +3324,9 @@ mod __parse__Top { // State 430 0, // State 431 - -182, + 0, // State 432 - -242, + 0, // State 433 0, // State 434 @@ -3193,9 +3340,9 @@ mod __parse__Top { // State 438 0, // State 439 - -485, + -846, // State 440 - 0, + -88, // State 441 0, // State 442 @@ -3209,13 +3356,13 @@ mod __parse__Top { // State 446 0, // State 447 - -199, + 0, // State 448 0, // State 449 - -317, + -376, // State 450 - -725, + 0, // State 451 0, // State 452 @@ -3225,17 +3372,17 @@ mod __parse__Top { // State 454 0, // State 455 - -313, + 0, // State 456 - -316, + -194, // State 457 - 0, + -784, // State 458 - -311, + 0, // State 459 0, // State 460 - -310, + 0, // State 461 0, // State 462 @@ -3243,23 +3390,23 @@ mod __parse__Top { // State 463 0, // State 464 - 0, + -182, // State 465 - 0, + -242, // State 466 - -314, + 0, // State 467 - -312, + 0, // State 468 - -315, + 0, // State 469 0, // State 470 - -730, + 0, // State 471 0, // State 472 - 0, + -497, // State 473 0, // State 474 @@ -3275,13 +3422,13 @@ mod __parse__Top { // State 479 0, // State 480 - 0, + -199, // State 481 - -237, - // State 482 0, + // State 482 + -321, // State 483 - 0, + -739, // State 484 0, // State 485 @@ -3289,45 +3436,45 @@ mod __parse__Top { // State 486 0, // State 487 - -720, + 0, // State 488 - -139, + -317, // State 489 - 0, + -320, // State 490 0, // State 491 - -357, + -315, // State 492 - -89, + 0, // State 493 - -516, + -314, // State 494 0, // State 495 - -806, + 0, // State 496 - -878, + 0, // State 497 0, // State 498 0, // State 499 - 0, + -318, // State 500 0, // State 501 - -191, + -316, // State 502 - -185, + -319, // State 503 - -195, - // State 504 0, + // State 504 + -744, // State 505 0, // State 506 - -181, + 0, // State 507 0, // State 508 @@ -3339,15 +3486,15 @@ mod __parse__Top { // State 511 0, // State 512 - -436, + 0, // State 513 0, // State 514 - -198, - // State 515 0, + // State 515 + -237, // State 516 - -201, + 0, // State 517 0, // State 518 @@ -3357,25 +3504,25 @@ mod __parse__Top { // State 520 0, // State 521 - 0, + -734, // State 522 - 0, + -139, // State 523 0, // State 524 0, // State 525 - 0, + -361, // State 526 - 0, + -89, // State 527 - 0, + -528, // State 528 0, // State 529 - 0, + -821, // State 530 - 0, + -904, // State 531 0, // State 532 @@ -3385,17 +3532,17 @@ mod __parse__Top { // State 534 0, // State 535 - -728, + -191, // State 536 - 0, + -185, // State 537 - 0, + -195, // State 538 0, // State 539 0, // State 540 - 0, + -181, // State 541 0, // State 542 @@ -3407,15 +3554,15 @@ mod __parse__Top { // State 545 0, // State 546 - 0, + -448, // State 547 0, // State 548 - 0, + -198, // State 549 0, // State 550 - 0, + -201, // State 551 0, // State 552 @@ -3453,7 +3600,7 @@ mod __parse__Top { // State 568 0, // State 569 - 0, + -742, // State 570 0, // State 571 @@ -3509,7 +3656,7 @@ mod __parse__Top { // State 596 0, // State 597 - -235, + 0, // State 598 0, // State 599 @@ -3519,45 +3666,45 @@ mod __parse__Top { // State 601 0, // State 602 - -236, + 0, // State 603 0, // State 604 - -140, + 0, // State 605 0, // State 606 - -196, + 0, // State 607 0, // State 608 0, // State 609 - -193, + 0, // State 610 0, // State 611 - -187, + 0, // State 612 0, // State 613 0, // State 614 - -184, + 0, // State 615 - -197, + 0, // State 616 0, // State 617 0, // State 618 - -183, + 0, // State 619 0, // State 620 0, // State 621 - -435, + 0, // State 622 0, // State 623 @@ -3567,9 +3714,9 @@ mod __parse__Top { // State 625 0, // State 626 - -200, + 0, // State 627 - -202, + 0, // State 628 0, // State 629 @@ -3577,9 +3724,9 @@ mod __parse__Top { // State 630 0, // State 631 - 0, + -235, // State 632 - -729, + 0, // State 633 0, // State 634 @@ -3587,45 +3734,45 @@ mod __parse__Top { // State 635 0, // State 636 - 0, + -236, // State 637 0, // State 638 - 0, + -140, // State 639 0, // State 640 - -726, + -196, // State 641 0, // State 642 0, // State 643 - 0, + -193, // State 644 0, // State 645 - 0, + -187, // State 646 0, // State 647 0, // State 648 - 0, + -184, // State 649 - 0, + -197, // State 650 0, // State 651 0, // State 652 - 0, + -183, // State 653 0, // State 654 0, // State 655 - 0, + -447, // State 656 0, // State 657 @@ -3635,9 +3782,9 @@ mod __parse__Top { // State 659 0, // State 660 - 0, + -200, // State 661 - 0, + -202, // State 662 0, // State 663 @@ -3647,7 +3794,7 @@ mod __parse__Top { // State 665 0, // State 666 - 0, + -743, // State 667 0, // State 668 @@ -3661,19 +3808,19 @@ mod __parse__Top { // State 672 0, // State 673 - 0, + -740, // State 674 - -810, + 0, // State 675 0, // State 676 0, // State 677 - -189, + 0, // State 678 0, // State 679 - -190, + 0, // State 680 0, // State 681 @@ -3689,7 +3836,7 @@ mod __parse__Top { // State 686 0, // State 687 - -727, + 0, // State 688 0, // State 689 @@ -3701,7 +3848,7 @@ mod __parse__Top { // State 692 0, // State 693 - -262, + 0, // State 694 0, // State 695 @@ -3733,17 +3880,17 @@ mod __parse__Top { // State 708 0, // State 709 - 0, + -825, // State 710 0, // State 711 0, // State 712 - 0, + -189, // State 713 0, // State 714 - 0, + -190, // State 715 0, // State 716 @@ -3753,17 +3900,17 @@ mod __parse__Top { // State 718 0, // State 719 - -803, + 0, // State 720 0, // State 721 - -351, + 0, // State 722 - -355, + -741, // State 723 0, // State 724 - -857, + 0, // State 725 0, // State 726 @@ -3773,7 +3920,7 @@ mod __parse__Top { // State 728 0, // State 729 - 0, + -265, // State 730 0, // State 731 @@ -3785,7 +3932,7 @@ mod __parse__Top { // State 734 0, // State 735 - -877, + 0, // State 736 0, // State 737 @@ -3819,9 +3966,9 @@ mod __parse__Top { // State 751 0, // State 752 - -192, + 0, // State 753 - -186, + 0, // State 754 0, // State 755 @@ -3833,23 +3980,23 @@ mod __parse__Top { // State 758 0, // State 759 - 0, + -818, // State 760 0, // State 761 - 0, + -355, // State 762 - -263, + -359, // State 763 0, // State 764 - -876, - // State 765 0, + // State 765 + -883, // State 766 0, // State 767 - -392, + 0, // State 768 0, // State 769 @@ -3867,7 +4014,7 @@ mod __parse__Top { // State 775 0, // State 776 - -411, + -903, // State 777 0, // State 778 @@ -3875,19 +4022,19 @@ mod __parse__Top { // State 779 0, // State 780 - -804, + 0, // State 781 0, // State 782 - -801, + 0, // State 783 - -352, + 0, // State 784 0, // State 785 0, // State 786 - -356, + 0, // State 787 0, // State 788 @@ -3901,9 +4048,9 @@ mod __parse__Top { // State 792 0, // State 793 - 0, + -192, // State 794 - 0, + -186, // State 795 0, // State 796 @@ -3921,7 +4068,7 @@ mod __parse__Top { // State 802 0, // State 803 - 0, + -267, // State 804 0, // State 805 @@ -3929,13 +4076,13 @@ mod __parse__Top { // State 806 0, // State 807 - 0, + -902, // State 808 0, // State 809 - 0, + -264, // State 810 - -188, + 0, // State 811 0, // State 812 @@ -3945,7 +4092,7 @@ mod __parse__Top { // State 814 0, // State 815 - 0, + -403, // State 816 0, // State 817 @@ -3955,15 +4102,15 @@ mod __parse__Top { // State 819 0, // State 820 - -393, + 0, // State 821 0, // State 822 - -388, + 0, // State 823 0, // State 824 - 0, + -423, // State 825 0, // State 826 @@ -3971,19 +4118,19 @@ mod __parse__Top { // State 827 0, // State 828 - 0, + -819, // State 829 0, // State 830 - -385, + -816, // State 831 - 0, + -356, // State 832 0, // State 833 0, // State 834 - 0, + -360, // State 835 0, // State 836 @@ -3991,13 +4138,13 @@ mod __parse__Top { // State 837 0, // State 838 - -802, + 0, // State 839 0, // State 840 - -349, + 0, // State 841 - -840, + 0, // State 842 0, // State 843 @@ -4009,7 +4156,7 @@ mod __parse__Top { // State 846 0, // State 847 - -805, + 0, // State 848 0, // State 849 @@ -4033,7 +4180,7 @@ mod __parse__Top { // State 858 0, // State 859 - 0, + -188, // State 860 0, // State 861 @@ -4049,21 +4196,21 @@ mod __parse__Top { // State 866 0, // State 867 - -389, + 0, // State 868 - -383, + 0, // State 869 - -260, + -266, // State 870 - -390, + 0, // State 871 0, // State 872 - 0, + -405, // State 873 0, // State 874 - 0, + -395, // State 875 0, // State 876 @@ -4075,23 +4222,23 @@ mod __parse__Top { // State 879 0, // State 880 - 0, + -402, // State 881 0, // State 882 0, // State 883 - -408, + 0, // State 884 0, // State 885 - -470, + 0, // State 886 0, // State 887 0, // State 888 - 0, + -389, // State 889 0, // State 890 @@ -4107,13 +4254,13 @@ mod __parse__Top { // State 895 0, // State 896 - 0, + -817, // State 897 0, // State 898 - 0, + -353, // State 899 - 0, + -855, // State 900 0, // State 901 @@ -4125,7 +4272,7 @@ mod __parse__Top { // State 904 0, // State 905 - 0, + -820, // State 906 0, // State 907 @@ -4133,17 +4280,17 @@ mod __parse__Top { // State 908 0, // State 909 - -473, + 0, // State 910 - -833, + 0, // State 911 - -834, + 0, // State 912 - -837, + 0, // State 913 - -838, + 0, // State 914 - -348, + 0, // State 915 0, // State 916 @@ -4159,33 +4306,33 @@ mod __parse__Top { // State 921 0, // State 922 - -856, + 0, // State 923 0, // State 924 0, // State 925 - 0, + -397, // State 926 0, // State 927 0, // State 928 - 0, + -404, // State 929 0, // State 930 - 0, + -394, // State 931 - 0, + -387, // State 932 - 0, - // State 933 -261, + // State 933 + -399, // State 934 - -391, + 0, // State 935 - -386, + 0, // State 936 0, // State 937 @@ -4203,15 +4350,15 @@ mod __parse__Top { // State 943 0, // State 944 - -409, + 0, // State 945 - -105, + 0, // State 946 - -471, + -420, // State 947 0, // State 948 - 0, + -482, // State 949 0, // State 950 @@ -4247,29 +4394,29 @@ mod __parse__Top { // State 965 0, // State 966 - -472, + 0, // State 967 0, // State 968 0, // State 969 - -353, + 0, // State 970 0, // State 971 0, // State 972 - 0, + -485, // State 973 - 0, + -848, // State 974 - 0, + -849, // State 975 - 0, + -852, // State 976 - 0, + -853, // State 977 - 0, + -352, // State 978 0, // State 979 @@ -4281,11 +4428,11 @@ mod __parse__Top { // State 982 0, // State 983 - -387, + 0, // State 984 0, // State 985 - 0, + -882, // State 986 0, // State 987 @@ -4297,9 +4444,9 @@ mod __parse__Top { // State 990 0, // State 991 - -384, + 0, // State 992 - -106, + 0, // State 993 0, // State 994 @@ -4309,19 +4456,19 @@ mod __parse__Top { // State 996 0, // State 997 - 0, + -396, // State 998 - 0, + -263, // State 999 - 0, + -401, // State 1000 - 0, + -391, // State 1001 0, // State 1002 - 0, + -260, // State 1003 - 0, + -398, // State 1004 0, // State 1005 @@ -4337,11 +4484,11 @@ mod __parse__Top { // State 1010 0, // State 1011 - 0, + -421, // State 1012 - 0, + -105, // State 1013 - 0, + -483, // State 1014 0, // State 1015 @@ -4357,7 +4504,7 @@ mod __parse__Top { // State 1020 0, // State 1021 - -350, + 0, // State 1022 0, // State 1023 @@ -4369,7 +4516,7 @@ mod __parse__Top { // State 1026 0, // State 1027 - -382, + 0, // State 1028 0, // State 1029 @@ -4381,13 +4528,13 @@ mod __parse__Top { // State 1032 0, // State 1033 - 0, + -484, // State 1034 0, // State 1035 0, // State 1036 - 0, + -357, // State 1037 0, // State 1038 @@ -4415,13 +4562,13 @@ mod __parse__Top { // State 1049 0, // State 1050 - -832, + -393, // State 1051 - -836, + -262, // State 1052 - -354, + -400, // State 1053 - 0, + -390, // State 1054 0, // State 1055 @@ -4437,9 +4584,9 @@ mod __parse__Top { // State 1060 0, // State 1061 - 0, + -388, // State 1062 - 0, + -106, // State 1063 0, // State 1064 @@ -4496,757 +4643,944 @@ mod __parse__Top { 0, // State 1090 0, + // State 1091 + -354, + // State 1092 + 0, + // State 1093 + 0, + // State 1094 + 0, + // State 1095 + 0, + // State 1096 + 0, + // State 1097 + -392, + // State 1098 + -386, + // State 1099 + 0, + // State 1100 + 0, + // State 1101 + 0, + // State 1102 + 0, + // State 1103 + 0, + // State 1104 + 0, + // State 1105 + 0, + // State 1106 + 0, + // State 1107 + 0, + // State 1108 + 0, + // State 1109 + 0, + // State 1110 + 0, + // State 1111 + 0, + // State 1112 + 0, + // State 1113 + 0, + // State 1114 + 0, + // State 1115 + 0, + // State 1116 + 0, + // State 1117 + 0, + // State 1118 + 0, + // State 1119 + 0, + // State 1120 + 0, + // State 1121 + -847, + // State 1122 + -851, + // State 1123 + -358, + // State 1124 + 0, + // State 1125 + 0, + // State 1126 + 0, + // State 1127 + 0, + // State 1128 + 0, + // State 1129 + 0, + // State 1130 + 0, + // State 1131 + 0, + // State 1132 + 0, + // State 1133 + 0, + // State 1134 + 0, + // State 1135 + 0, + // State 1136 + 0, + // State 1137 + 0, + // State 1138 + 0, + // State 1139 + 0, + // State 1140 + 0, + // State 1141 + 0, + // State 1142 + 0, + // State 1143 + 0, + // State 1144 + 0, + // State 1145 + 0, + // State 1146 + 0, + // State 1147 + 0, + // State 1148 + 0, + // State 1149 + 0, + // State 1150 + 0, + // State 1151 + 0, + // State 1152 + 0, + // State 1153 + 0, + // State 1154 + 0, + // State 1155 + 0, + // State 1156 + 0, + // State 1157 + 0, + // State 1158 + 0, + // State 1159 + 0, + // State 1160 + 0, + // State 1161 + 0, ]; fn __goto(state: i16, nt: usize) -> i16 { match nt { 11 => match state { - 219 => 827, - 252 => 872, - 253 => 873, - 284 => 937, - 311 => 989, - 334 => 1032, - 335 => 1033, - 343 => 1055, - _ => 770, + 240 => 885, + 277 => 935, + 278 => 936, + 313 => 1004, + 343 => 1059, + 367 => 1103, + 368 => 1104, + 376 => 1126, + _ => 818, }, 14 => match state { - 84 => 623, - 125 => 681, - 126 => 682, - 177 => 754, - 211 => 816, - 244 => 863, - 245 => 864, - 277 => 928, - _ => 509, + 85 => 657, + 128 => 716, + 129 => 717, + 184 => 795, + 225 => 865, + 265 => 921, + 266 => 922, + 302 => 991, + _ => 543, }, 23 => match state { - 124 => 678, - 168 => 738, - 237 => 851, - _ => 500, + 127 => 713, + 175 => 779, + 258 => 909, + _ => 534, }, 26 => match state { - 169 => 741, - 238 => 853, - _ => 655, + 176 => 782, + 259 => 911, + _ => 690, }, - 30 => 647, - 37 => 406, - 48 => 776, + 30 => 681, + 37 => 439, + 48 => 824, 50 => match state { - 64 | 97 => 102, + 65 | 98 => 105, _ => 4, }, - 53 => 67, + 53 => 68, 55 => match state { - 64 | 97 => 103, + 65 | 98 => 106, _ => 5, }, 60 => match state { - 297 => 327, - _ => 326, + 326 => 359, + _ => 358, }, 63 => match state { 19..=20 => 46, - 196 => 232, - 233 => 272, - _ => 149, + 209 => 253, + 254 => 297, + _ => 155, }, 68 => match state { - 64 | 97 => 564, - 263 | 294 | 297 | 314 | 316 | 318 | 321 | 324..=327 | 338 | 347 | 349 | 351 => 886, - 298 | 339 => 954, - _ => 360, + 65 | 98 => 598, + 288 | 323 | 326 | 346 | 348 | 350 | 353 | 356..=359 | 371 | 380 | 382 | 384 => 949, + 327 | 372 => 1021, + _ => 393, }, 70 => match state { - 105 => 158, + 108 => 165, _ => 27, }, 77 => match state { - 104 => 153, - 292 | 328 => 315, + 107 => 160, + 321 | 360 => 347, _ => 22, }, 78 => match state { - 298 | 339 => 955, - _ => 887, + 327 | 372 => 1022, + _ => 950, }, 79 => match state { - 34 => 496, - 64 | 97 => 565, - 166 => 736, - _ => 361, + 34 => 530, + 65 | 98 => 599, + 173 => 777, + _ => 394, }, - 80 => 566, + 80 => 600, 81 => match state { - 4 => 391, - 102 => 652, - _ => 362, + 4 => 424, + 105 => 687, + _ => 395, }, - 82 => 567, + 82 => 601, 83 => match state { - 134 => 692, - 154 => 725, - 182 => 761, - _ => 478, + 138 => 728, + 161 => 766, + 189 => 802, + 195 => 808, + 227 => 868, + _ => 512, }, 84 => match state { - 32 => 73, - 64 | 97 => 104, - 161 => 199, + 32 => 74, + 65 | 98 => 107, + 168 => 213, _ => 6, }, - 85 => 568, - 86 => 888, - 87 => 448, + 85 => 602, + 86 => 951, + 87 => 481, 88 => match state { - 91 => 635, - 131 => 689, - _ => 521, + 92 => 668, + 135 => 725, + _ => 555, }, - 90 => 91, - 92 => 363, - 93 => 569, + 90 => 92, + 92 => 396, + 93 => 603, 94 => match state { - 15 => 432, - 64 | 97 => 570, - 112 => 662, - _ => 364, + 15 => 465, + 65 | 98 => 604, + 115 => 697, + _ => 397, }, - 95 => 571, + 95 => 605, 96 => match state { - 64 | 97 => 572, - _ => 365, + 65 | 98 => 606, + _ => 398, }, - 97 => 573, - 98 => 92, - 99 => 889, - 100 => 449, - 101 => 890, + 97 => 607, + 98 => 93, + 99 => 952, + 100 => 482, + 101 => 953, 102 => match state { - 314 => 993, - 324 => 1010, - _ => 891, + 346 => 1063, + 356 => 1080, + _ => 954, }, 105 => match state { - 39 => 507, - 43 => 513, - 44 => 515, - 68 => 599, - 167 => 737, - 171 => 746, - 172 => 747, - 173 => 749, - _ => 497, + 39 => 541, + 43 => 547, + 44 => 549, + 69 => 633, + 174 => 778, + 178 => 787, + 179 => 788, + 180 => 790, + _ => 531, }, 107 => match state { - 27 | 158 => 72, + 27 | 165 => 73, _ => 28, }, - 108 => 366, - 109 => 574, + 108 => 399, + 109 => 608, 110 => match state { - 196 => 791, - 233 => 845, - _ => 450, + 209 => 839, + 254 => 903, + _ => 483, }, 111 => match state { - 241 | 276 => 856, - _ => 809, + 262 | 301 => 914, + _ => 858, }, 113 => match state { - 240 => 276, - _ => 241, + 261 => 301, + _ => 262, }, 114 => match state { - 64 | 97 => 575, - 263 | 294 | 296..=298 | 314..=316 | 318 | 321 | 324..=327 | 338..=339 | 347 | 349 | 351 => 892, - _ => 367, + 65 | 98 => 609, + 288 | 323 | 325..=327 | 346..=348 | 350 | 353 | 356..=359 | 371..=372 | 380 | 382 | 384 => 955, + _ => 400, }, 115 => match state { - 296 => 951, - 315 => 994, - _ => 893, + 325 => 1018, + 347 => 1064, + _ => 956, }, 116 => match state { - 298 | 339 => 328, - _ => 292, + 327 | 372 => 360, + _ => 321, }, 117 => match state { - 47 => 519, - _ => 451, + 47 => 553, + _ => 484, }, 119 => 47, - 120 => 452, + 120 => 485, 121 => match state { - 86 => 628, - _ => 440, + 87 => 662, + _ => 473, }, 122 => match state { - 114 => 172, - 86 => 629, + 117 => 179, + 87 => 663, _ => 43, }, 123 => match state { - 114 => 664, - _ => 441, + 117 => 699, + _ => 474, }, 125 => match state { - 58 => 556, - 99 => 645, - 145 => 710, - _ => 548, + 58 => 589, + 101 => 679, + 151 => 750, + _ => 581, }, - 126 => 772, + 126 => 820, 128 => match state { - 193 => 783, - _ => 721, + 206 => 831, + _ => 761, }, - 129 => 193, + 129 => 206, 130 => match state { - 194 => 786, - _ => 722, + 207 => 834, + _ => 762, }, - 131 => 194, + 131 => 207, 132 => match state { - 64 | 97 => 105, - 13 => 424, - 28 => 488, - 37 => 504, - 45 => 517, - 53..=54 | 76 | 96 | 122 | 137 | 139 => 540, - 72 => 604, - 163 => 732, - 170 => 744, - 203 => 802, - 235 => 849, + 65 | 98 => 108, + 13 => 457, + 28 => 522, + 37 => 538, + 45 => 551, + 53..=54 | 77 | 97 | 125 | 143 | 145 => 573, + 73 => 638, + 170 => 773, + 177 => 785, + 217 => 851, + 256 => 907, _ => 7, }, - 133 => 576, + 133 => 610, 134 => match state { - 76 => 608, - 96 => 642, - 122 => 675, - _ => 545, + 77 => 642, + 97 => 675, + 125 => 710, + _ => 578, }, - 135 => 541, - 136 => 857, + 135 => 574, + 136 => 915, 137 => match state { - 137 | 139 => 701, - _ => 542, + 143 | 145 => 741, + _ => 575, }, - 138 => 453, + 138 => 486, 139 => match state { - 11 => 416, - 26 => 487, - 33 => 495, - 108 => 654, - 157 => 728, - 162 => 731, - _ => 368, + 11 => 449, + 26 => 521, + 33 => 529, + 111 => 689, + 164 => 769, + 169 => 772, + _ => 401, }, - 140 => 577, - 141 => 454, - 142 => 455, - 143 => 456, + 140 => 611, + 141 => 487, + 142 => 488, + 143 => 489, 144 => match state { - 67 => 596, - _ => 479, + 68 => 630, + _ => 513, }, - 146 => 546, + 146 => 579, 147 => match state { 1 => 8, - 38 => 505, - 62 => 562, - 92..=93 => 636, - 138 => 702, - 184 => 763, + 38 => 539, + 62 => 595, + 93..=94 => 669, + 144 => 742, + 193 => 806, _ => 48, }, - 148 => 457, - 149 => 947, + 148 => 490, + 149 => 1014, 150 => match state { - 52 => 98, - 90 => 130, - 95 => 133, - 129 => 181, - 12 | 14 | 18 | 25 | 49 | 57 | 59 | 63 | 77..=78 | 80 | 87 | 110..=111 | 114 | 116 | 118 | 123 | 146..=147 | 156 | 176 | 201..=202 | 207 | 224 | 236 | 259 | 274 | 302 | 323 => 417, - 16 | 81 | 85 | 127..=128 | 178..=180 | 208..=210 | 243 | 246 | 278..=280 | 304..=306 | 331 => 433, - 23 | 67 | 134 | 154 | 182 => 480, - 24 => 481, - 40..=41 | 125 | 211 | 244 => 510, - 51 => 539, - 56 | 60 => 553, - 64 | 97 => 578, - 89 => 634, - 136 | 217 | 220 | 254 | 256 | 285..=287 | 308..=310 | 333 | 336 | 344..=346 | 353..=356 => 694, - 140 | 190 => 703, - 141 => 707, - 142 => 708, - 144 => 709, - 155 => 726, - 188 | 252 | 311 | 334 => 771, - 189 => 773, - 191 => 775, - 222 => 831, - 223 | 258 => 832, - 225 => 836, - 263 | 294 | 297 | 314 | 321 | 324..=327 | 338 | 347 => 894, - 271 => 915, - 288 => 943, - 295 => 950, - 298 | 339 => 956, - 301 => 970, - 316 | 318 | 349 | 351 => 995, - 317 => 1001, - 319 => 1005, - 320 => 1006, - 329 => 1020, - 348 | 350 | 357..=358 => 1061, - 352 => 1071, - _ => 369, + 51 => 99, + 52 => 100, + 90 => 133, + 91 => 134, + 96 => 137, + 132 => 188, + 12 | 14 | 18 | 25 | 49 | 57 | 59 | 64 | 78..=79 | 81 | 88 | 113..=114 | 117 | 119 | 121 | 126 | 152..=153 | 163 | 183 | 215..=216 | 221 | 245 | 257 | 284 | 299 | 331 | 355 => 450, + 16 | 82 | 86 | 130..=131 | 185..=187 | 222..=224 | 264 | 267 | 303..=305 | 333..=335 | 363 => 466, + 23 | 68 | 138 | 161 | 189 | 195 | 227 => 514, + 24 => 515, + 40..=41 | 128 | 225 | 265 => 544, + 56 | 60 => 586, + 63 => 596, + 65 | 98 => 612, + 140 | 234 => 730, + 142 | 238 | 241 | 279 | 281 | 314..=316 | 340..=342 | 366 | 369 | 377..=379 | 386..=389 => 734, + 146 | 203 => 743, + 147 => 747, + 148 => 748, + 150 => 749, + 162 => 767, + 197 => 812, + 198 => 813, + 201 | 277 | 343 | 367 => 819, + 202 => 821, + 204 => 823, + 243 => 889, + 244 | 283 => 890, + 246 => 894, + 288 | 323 | 326 | 346 | 353 | 356..=359 | 371 | 380 => 957, + 296 => 978, + 317 => 1010, + 324 => 1017, + 327 | 372 => 1023, + 330 => 1037, + 348 | 350 | 382 | 384 => 1065, + 349 => 1071, + 351 => 1075, + 352 => 1076, + 361 => 1090, + 381 | 383 | 390..=391 => 1132, + 385 => 1142, + _ => 402, }, - 151 => 458, - 154 => 704, + 151 => 491, + 154 => 744, 155 => match state { - 99 => 646, - _ => 549, + 101 => 680, + _ => 582, }, - 157 => 99, - 158 => 550, - 159 => 459, + 157 => 101, + 158 => 583, + 159 => 492, 160 => match state { - 217 => 824, - 220 => 828, - 254 => 874, - 256 => 877, - 285 => 938, - 286 => 939, - 287 => 941, - 308 => 984, - 309 => 985, - 310 => 987, - 333 => 1029, - 336 => 1034, - 344 => 1056, - 345 => 1057, - 346 => 1058, - 353 => 1073, - 354 => 1074, - 355 => 1077, - 356 => 1084, - _ => 695, + 238 => 882, + 241 => 886, + 279 => 937, + 281 => 940, + 314 => 1005, + 315 => 1006, + 316 => 1008, + 340 => 1054, + 341 => 1055, + 342 => 1057, + 366 => 1100, + 369 => 1105, + 377 => 1127, + 378 => 1128, + 379 => 1129, + 386 => 1144, + 387 => 1145, + 388 => 1148, + 389 => 1155, + _ => 735, }, 161 => match state { - 81 => 619, - 85 => 624, - 127 => 683, - 128 => 685, - 178 => 755, - 179 => 756, - 180 => 758, - 208 => 811, - 209 => 812, - 210 => 814, - 243 => 860, - 246 => 865, - 278 => 929, - 279 => 930, - 280 => 931, - 304 => 977, - 305 => 978, - 306 => 981, - 331 => 1024, - _ => 434, + 82 => 653, + 86 => 658, + 130 => 718, + 131 => 720, + 185 => 796, + 186 => 797, + 187 => 799, + 222 => 860, + 223 => 861, + 224 => 863, + 264 => 918, + 267 => 923, + 303 => 992, + 304 => 993, + 305 => 994, + 333 => 1044, + 334 => 1045, + 335 => 1048, + 363 => 1094, + _ => 467, }, 162 => match state { - 64 | 97 => 579, - _ => 370, + 65 | 98 => 613, + _ => 403, }, 163 => match state { - 111 => 660, - _ => 425, + 114 => 695, + _ => 458, }, - 165 => 895, - 166 => 957, - 167 => 896, + 165 => 958, + 166 => 1024, + 167 => 959, 168 => match state { - 226..=227 | 261 | 264 => 837, - _ => 884, + 247..=248 | 286 | 289 => 895, + _ => 947, }, 169 => match state { - 227 => 265, - 261 => 291, - 264 => 299, - _ => 262, + 248 => 290, + 286 => 320, + 289 => 328, + _ => 287, }, 170 => match state { - 348 | 350 | 357..=358 => 1062, - _ => 996, + 381 | 383 | 390..=391 => 1133, + _ => 1066, }, 171 => match state { - 339 => 1046, - _ => 958, + 372 => 1117, + _ => 1025, }, 172 => match state { - 298 | 339 => 959, - _ => 897, + 327 | 372 => 1026, + _ => 960, }, 173 => match state { - 298 | 339 => 960, - _ => 898, + 327 | 372 => 1027, + _ => 961, }, - 174 => 460, + 174 => 493, 175 => match state { - 107 => 162, + 110 => 169, _ => 33, }, 176 => match state { - 12 | 110 => 418, - 78 | 202 => 612, - _ => 426, + 12 | 113 => 451, + 79 | 216 => 646, + _ => 459, }, 177 => match state { 12 => 35, 18 => 44, - 23 | 67 | 134 | 154 | 182 => 68, - 110 => 167, - 114 => 173, - 49 => 537, - 57 => 555, - 63 => 563, - 224 => 835, - 259 => 882, - 323 => 1009, - _ => 427, + 23 | 68 | 138 | 161 | 189 | 195 | 227 => 69, + 113 => 174, + 117 => 180, + 49 => 571, + 57 => 588, + 64 => 597, + 245 => 893, + 284 => 945, + 355 => 1079, + _ => 460, }, 178 => match state { - 78 => 124, - 110 => 168, - 202 => 237, + 79 => 127, + 113 => 175, + 216 => 258, _ => 36, }, - 179 => 461, + 179 => 494, 180 => match state { - 5 => 392, - 17 => 439, - 103 => 653, - 113 => 663, - _ => 371, + 5 => 425, + 17 => 472, + 106 => 688, + 116 => 698, + _ => 404, }, - 181 => 580, - 182 => 442, + 181 => 614, + 182 => 475, 183 => match state { - 53 => 543, - _ => 547, + 53 => 576, + _ => 580, }, 184 => match state { - 60 => 560, - _ => 554, + 60 => 593, + _ => 587, }, - 185 => 557, + 185 => 590, 186 => match state { - 190 => 774, - _ => 705, + 203 => 822, + _ => 745, }, 187 => match state { - 318 => 1002, - 349 => 1064, - 351 => 1068, - _ => 997, + 350 => 1072, + 382 => 1135, + 384 => 1139, + _ => 1067, }, - 188 => 961, - 189 => 696, - 190 => 435, + 188 => 1028, + 189 => 736, + 190 => 468, 191 => match state { - 318 => 1003, - _ => 998, + 350 => 1073, + _ => 1068, }, 192 => match state { - 110 => 656, - _ => 419, + 113 => 691, + _ => 452, }, - 193 => 372, + 193 => 405, 194 => match state { - 18 | 114 => 443, - _ => 428, - }, - 195 => 899, - 196 => match state { - 175 => 206, - 205 => 240, - 31 => 494, - 64 | 97 => 581, - 160 => 730, - 242 => 858, - _ => 373, + 18 | 117 => 476, + _ => 461, }, - 197 => 582, - 198 => match state { - 136 => 697, - 217 => 825, - 254 | 287 | 308 | 310 | 333 | 345 | 353 | 355..=356 => 875, - _ => 829, + 195 => 731, + 196 => 962, + 197 => match state { + 182 => 220, + 219 => 261, + 31 => 528, + 65 | 98 => 615, + 167 => 771, + 263 => 916, + _ => 406, }, + 198 => 616, 199 => match state { - 16 => 436, - 81 => 620, - 85 | 128 | 178..=179 | 209 | 246 | 278 | 280 | 305 => 625, - _ => 684, + 142 => 737, + 238 => 883, + 279 | 316 | 340 | 342 | 366 | 378 | 386 | 388..=389 => 938, + _ => 887, + }, + 200 => match state { + 16 => 469, + 82 => 654, + 86 | 131 | 185..=186 | 223 | 267 | 303 | 305 | 334 => 659, + _ => 719, }, - 202 => 698, - 203 => 437, - 207 => match state { - 130 => 688, - 133 => 691, - 181 => 760, - _ => 644, + 203 => 738, + 204 => 470, + 208 => match state { + 134 => 724, + 137 => 727, + 141 => 733, + 188 => 801, + 191 => 804, + 192 => 805, + 226 => 867, + _ => 678, }, - 208 => 462, - 209 => match state { - 263 => 900, - 294 => 948, - 297 => 952, - 321 => 1007, - 325 => 1011, - 326 => 1012, - 327 => 1015, - 338 => 1045, - 347 => 1060, - 349 | 351 => 1065, - _ => 999, + 209 => 495, + 210 => match state { + 288 => 963, + 323 => 1015, + 326 => 1019, + 353 => 1077, + 357 => 1081, + 358 => 1082, + 359 => 1085, + 371 => 1116, + 380 => 1131, + 382 | 384 => 1136, + _ => 1069, }, - 211 => 293, - 212 => 374, - 213 => 583, - 214 => match state { + 212 => 322, + 213 => 407, + 214 => 617, + 215 => match state { 3 => 20, _ => 19, }, - 215 => 463, - 216 => 901, - 217 => match state { - 114 => 665, - _ => 444, - }, + 216 => 496, + 217 => 964, 218 => match state { - 21 => 65, - 64 | 97 => 106, - 152 => 197, - _ => 9, + 117 => 700, + _ => 477, }, - 219 => 584, - 220 => match state { - 106 => 161, - _ => 32, + 219 => match state { + 21 => 66, + 65 | 98 => 109, + 159 => 211, + _ => 9, }, + 220 => 618, 221 => match state { - 75 => 607, - _ => 498, + 109 => 168, + _ => 32, }, - 222 => 75, - 223 => match state { - 117 => 670, - 119 => 672, - 174 => 751, - _ => 603, + 222 => match state { + 76 => 641, + _ => 532, }, - 225 => match state { - 19..=20 => 464, - 46 => 518, - 149 => 718, - 196 => 792, - 232 => 842, - 233 => 846, - 272 => 919, - _ => 650, + 223 => 76, + 224 => match state { + 120 => 705, + 122 => 707, + 181 => 792, + _ => 637, }, 226 => match state { - 12 | 78 | 110 | 202 => 420, - 14 | 18 | 25 | 59 | 77 | 80 | 87 | 111 | 114 | 116 | 118 | 123 | 146..=147 | 156 | 176 | 201 | 207 | 236 | 274 | 302 => 429, - 53..=54 | 76 | 96 | 122 | 137 | 139 => 544, - _ => 375, + 19..=20 => 497, + 46 => 552, + 155 => 758, + 209 => 840, + 253 => 900, + 254 => 904, + 297 => 982, + _ => 684, }, - 227 => 902, - 228 => match state { - 252 => 284, - 311 => 335, - 334 => 343, - _ => 219, + 227 => match state { + 12 | 79 | 113 | 216 => 453, + 14 | 18 | 25 | 59 | 78 | 81 | 88 | 114 | 117 | 119 | 121 | 126 | 152..=153 | 163 | 183 | 215 | 221 | 257 | 299 | 331 => 462, + 53..=54 | 77 | 97 | 125 | 143 | 145 => 577, + _ => 408, }, - 230 => match state { - 125 => 177, - 211 => 245, - 244 => 277, - 41 => 511, - _ => 84, + 228 => 965, + 229 => match state { + 277 => 313, + 343 => 368, + 367 => 376, + _ => 240, }, - 232 => 233, - 233 => match state { - 116 => 669, - 118 => 671, - _ => 482, + 231 => match state { + 128 => 184, + 225 => 266, + 265 => 302, + 41 => 545, + _ => 85, }, + 233 => 254, 234 => match state { - 156 => 727, - _ => 483, + 119 => 704, + 121 => 706, + _ => 516, }, 235 => match state { - 143 => 192, - 135 => 693, - 151 => 724, - 165 => 735, - 183 => 762, - 185 => 764, - 187 => 767, - 213 => 820, - 215 => 822, - 221 => 830, - 230 => 840, - 231 => 841, - 248 => 867, - 249 => 868, - 250 => 869, - 251 => 870, - 260 => 883, - 266 => 910, - 267 => 911, - 268 => 912, - 269 => 913, - 270 => 914, - 273 => 922, - 281 => 933, - 282 => 934, - 283 => 935, - 289 => 944, - 290 => 945, - 300 => 969, - 307 => 983, - 312 => 991, - 313 => 992, - 322 => 1008, - 330 => 1021, - 332 => 1027, - 337 => 1039, - 340 => 1050, - 341 => 1051, - 342 => 1052, - _ => 150, + 163 => 768, + _ => 517, }, 236 => match state { - 22 => 66, - 64 | 97 => 107, - 153 => 198, - _ => 10, + 149 => 205, + 139 => 729, + 158 => 765, + 172 => 776, + 190 => 803, + 194 => 807, + 196 => 809, + 200 => 815, + 228 => 869, + 230 => 872, + 232 => 874, + 236 => 880, + 242 => 888, + 251 => 898, + 252 => 899, + 269 => 925, + 271 => 928, + 273 => 930, + 274 => 931, + 275 => 932, + 276 => 933, + 285 => 946, + 291 => 973, + 292 => 974, + 293 => 975, + 294 => 976, + 295 => 977, + 298 => 985, + 307 => 997, + 308 => 998, + 309 => 999, + 310 => 1000, + 311 => 1002, + 312 => 1003, + 318 => 1011, + 319 => 1012, + 329 => 1036, + 336 => 1050, + 337 => 1051, + 338 => 1052, + 339 => 1053, + 344 => 1061, + 345 => 1062, + 354 => 1078, + 362 => 1091, + 364 => 1097, + 365 => 1098, + 370 => 1110, + 373 => 1121, + 374 => 1122, + 375 => 1123, + _ => 156, }, - 237 => 585, - 238 => match state { - 71 => 119, - 94 => 131, - 117 => 174, - 1 | 30 | 38 | 62 | 92..=93 | 138 | 184 | 255 => 376, - 12 => 421, - 14 | 23 | 49 | 57 | 59 | 63 | 67 | 77 | 80 | 87 | 111 | 123 | 134 | 146..=147 | 154 | 176 | 182 | 201 | 207 | 224 | 236 | 259 | 274 | 302 | 323 => 430, - 18 | 114 => 445, - 25 | 116 | 118 | 156 => 484, - 42 => 512, - 50 => 538, - 61 => 561, - 64 | 97 => 586, - 69 => 600, - 70 => 601, - 74 => 605, - 78 => 613, - 79 => 616, - 82 => 621, - 83 => 622, - 86 => 630, - 88 => 631, - 110 => 657, - 115 => 668, - 120 => 673, - 121 => 674, - 132 => 690, - 148 => 717, - 164 | 200 | 204 | 239 | 275 | 303 => 733, - 186 => 766, - 195 | 228 => 790, - 202 => 800, - 212 => 819, - 214 => 821, - 216 => 823, - 218 => 826, - 229 => 839, - 234 => 848, - 247 => 866, - 257 => 879, - _ => 465, + 237 => match state { + 22 => 67, + 65 | 98 => 110, + 160 => 212, + _ => 10, }, - 240 => 587, - 243 => match state { - 93 => 639, - _ => 637, + 238 => 619, + 239 => match state { + 72 => 122, + 95 => 135, + 120 => 181, + 1 | 30 | 38 | 62 | 93..=94 | 144 | 193 | 280 => 409, + 12 => 454, + 14 | 23 | 49 | 57 | 59 | 64 | 68 | 78 | 81 | 88 | 114 | 126 | 138 | 152..=153 | 161 | 183 | 189 | 195 | 215 | 221 | 227 | 245 | 257 | 284 | 299 | 331 | 355 => 463, + 18 | 117 => 478, + 25 | 119 | 121 | 163 => 518, + 42 => 546, + 50 => 572, + 61 => 594, + 65 | 98 => 620, + 70 => 634, + 71 => 635, + 75 => 639, + 79 => 647, + 80 => 650, + 83 => 655, + 84 => 656, + 87 => 664, + 89 => 665, + 113 => 692, + 118 => 703, + 123 => 708, + 124 => 709, + 136 => 726, + 154 => 757, + 157 => 764, + 171 | 214 | 218 | 260 | 300 | 332 => 774, + 199 => 814, + 208 | 249 => 838, + 210 => 841, + 216 => 849, + 229 => 871, + 231 => 873, + 233 => 876, + 235 => 879, + 237 => 881, + 239 => 884, + 250 => 897, + 255 => 906, + 268 => 924, + 270 => 927, + 272 => 929, + 282 => 942, + 306 => 996, + _ => 498, }, + 241 => 621, 244 => match state { - 30 => 493, - 255 => 876, - _ => 377, + 94 => 672, + _ => 670, }, - 246 => match state { + 245 => match state { + 30 => 527, + 280 => 939, + _ => 410, + }, + 247 => match state { 14 => 39, - 111 => 171, - 18 | 114 => 446, - 59 => 558, - 77 | 176 | 201 | 274 => 610, - 80 | 87 => 617, - 123 | 207 | 236 | 302 => 676, - 146 => 711, - 147 => 714, - _ => 485, + 114 => 178, + 18 | 117 => 479, + 59 => 591, + 78 | 183 | 215 | 299 => 644, + 81 | 88 => 651, + 126 | 221 | 257 | 331 => 711, + 152 => 751, + 153 => 754, + _ => 519, + }, + 248 => 392, + 249 => 499, + 250 => 966, + 251 => 967, + 252 => 520, + 253 => 592, + 254 => 104, + 255 => 500, + 256 => match state { + 234 => 877, + _ => 732, + }, + 257 => match state { + 134 => 191, + 137 => 192, + 188 => 226, + 99 => 677, + 104 => 686, + 133 => 723, + _ => 141, }, - 247 => 359, - 248 => 466, - 249 => 903, - 250 => 904, - 251 => 486, - 252 => 559, - 253 => 699, - 254 => match state { - 64 | 97 => 108, + 259 => 739, + 260 => match state { + 65 | 98 => 111, _ => 11, }, - 255 => 438, - 256 => 905, - 257 => 467, - 258 => match state { - 64 | 97 => 109, - 200 | 239 | 303 => 796, - _ => 734, + 261 => 471, + 262 => 968, + 263 => 501, + 264 => match state { + 65 | 98 => 112, + 214 | 260 | 332 => 845, + _ => 775, }, - 259 => match state { - 202 => 238, - _ => 169, + 265 => match state { + 216 => 259, + _ => 176, }, - 260 => 588, - 261 => match state { - 97 => 643, - _ => 589, + 266 => 622, + 267 => match state { + 98 => 676, + _ => 623, }, - 263 => 468, - 264 => match state { - 29 => 491, - 64 | 97 => 590, - 159 => 729, - _ => 378, + 269 => 502, + 270 => match state { + 29 => 525, + 65 | 98 => 624, + 166 => 770, + _ => 411, }, - 265 => 591, - 266 => match state { - 12 => 422, - 92..=93 => 638, - 110 => 658, - _ => 469, + 271 => 625, + 272 => match state { + 12 => 455, + 93..=94 => 671, + 113 => 693, + _ => 503, }, _ => 0, } @@ -5329,6 +5663,7 @@ mod __parse__Top { r###""raise""###, r###""return""###, r###""try""###, + r###""type""###, r###""while""###, r###""with""###, r###""yield""###, @@ -5413,7 +5748,7 @@ mod __parse__Top { #[inline] fn error_action(&self, state: i16) -> i16 { - __action(state, 95 - 1) + __action(state, 96 - 1) } #[inline] @@ -5555,24 +5890,25 @@ mod __parse__Top { token::Tok::Raise if true => Some(74), token::Tok::Return if true => Some(75), token::Tok::Try if true => Some(76), - token::Tok::While if true => Some(77), - token::Tok::With if true => Some(78), - token::Tok::Yield if true => Some(79), - token::Tok::Lbrace if true => Some(80), - token::Tok::Vbar if true => Some(81), - token::Tok::VbarEqual if true => Some(82), - token::Tok::Rbrace if true => Some(83), - token::Tok::Tilde if true => Some(84), - token::Tok::Dedent if true => Some(85), - token::Tok::Indent if true => Some(86), - token::Tok::StartExpression if true => Some(87), - token::Tok::StartInteractive if true => Some(88), - token::Tok::StartModule if true => Some(89), - token::Tok::Complex { real: _, imag: _ } if true => Some(90), - token::Tok::Float { value: _ } if true => Some(91), - token::Tok::Int { value: _ } if true => Some(92), - token::Tok::Name { name: _ } if true => Some(93), - token::Tok::String { value: _, kind: _, triple_quoted: _ } if true => Some(94), + token::Tok::Type if true => Some(77), + token::Tok::While if true => Some(78), + token::Tok::With if true => Some(79), + token::Tok::Yield if true => Some(80), + token::Tok::Lbrace if true => Some(81), + token::Tok::Vbar if true => Some(82), + token::Tok::VbarEqual if true => Some(83), + token::Tok::Rbrace if true => Some(84), + token::Tok::Tilde if true => Some(85), + token::Tok::Dedent if true => Some(86), + token::Tok::Indent if true => Some(87), + token::Tok::StartExpression if true => Some(88), + token::Tok::StartInteractive if true => Some(89), + token::Tok::StartModule if true => Some(90), + token::Tok::Complex { real: _, imag: _ } if true => Some(91), + token::Tok::Float { value: _ } if true => Some(92), + token::Tok::Int { value: _ } if true => Some(93), + token::Tok::Name { name: _ } if true => Some(94), + token::Tok::String { value: _, kind: _, triple_quoted: _ } if true => Some(95), _ => None, } } @@ -5584,24 +5920,24 @@ mod __parse__Top { ) -> __Symbol<> { match __token_index { - 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 => __Symbol::Variant0(__token), - 90 => match __token { + 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 => __Symbol::Variant0(__token), + 91 => match __token { token::Tok::Complex { real: __tok0, imag: __tok1 } if true => __Symbol::Variant1((__tok0, __tok1)), _ => unreachable!(), }, - 91 => match __token { + 92 => match __token { token::Tok::Float { value: __tok0 } if true => __Symbol::Variant2(__tok0), _ => unreachable!(), }, - 92 => match __token { + 93 => match __token { token::Tok::Int { value: __tok0 } if true => __Symbol::Variant3(__tok0), _ => unreachable!(), }, - 93 => match __token { + 94 => match __token { token::Tok::Name { name: __tok0 } if true => __Symbol::Variant4(__tok0), _ => unreachable!(), }, - 94 => match __token { + 95 => match __token { token::Tok::String { value: __tok0, kind: __tok1, triple_quoted: __tok2 } if true => __Symbol::Variant5((__tok0, __tok1, __tok2)), _ => unreachable!(), }, @@ -7171,134 +7507,134 @@ mod __parse__Top { } 259 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, + states_to_pop: 8, nonterminal_produced: 100, } } 260 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, + states_to_pop: 7, nonterminal_produced: 100, } } 261 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, + states_to_pop: 9, nonterminal_produced: 100, } } 262 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, + states_to_pop: 8, nonterminal_produced: 100, } } 263 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 101, + states_to_pop: 5, + nonterminal_produced: 100, } } 264 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 101, + states_to_pop: 4, + nonterminal_produced: 100, } } 265 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 101, + states_to_pop: 6, + nonterminal_produced: 100, } } 266 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 101, + states_to_pop: 5, + nonterminal_produced: 100, } } 267 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, + states_to_pop: 7, nonterminal_produced: 101, } } 268 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, + states_to_pop: 6, nonterminal_produced: 101, } } 269 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, + states_to_pop: 5, nonterminal_produced: 101, } } 270 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, + states_to_pop: 4, nonterminal_produced: 101, } } 271 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, + states_to_pop: 5, nonterminal_produced: 101, } } 272 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, + states_to_pop: 4, nonterminal_produced: 101, } } 273 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, + states_to_pop: 3, nonterminal_produced: 101, } } 274 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, + states_to_pop: 7, nonterminal_produced: 101, } } 275 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, + states_to_pop: 6, nonterminal_produced: 101, } } 276 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, + states_to_pop: 5, nonterminal_produced: 101, } } 277 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 102, + states_to_pop: 4, + nonterminal_produced: 101, } } 278 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 102, + states_to_pop: 5, + nonterminal_produced: 101, } } 279 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 102, + states_to_pop: 4, + nonterminal_produced: 101, } } 280 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 102, + states_to_pop: 3, + nonterminal_produced: 101, } } 281 => { @@ -7322,3049 +7658,3049 @@ mod __parse__Top { 284 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 103, + nonterminal_produced: 102, } } 285 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 1, + nonterminal_produced: 102, + } + } + 286 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 1, + nonterminal_produced: 102, + } + } + 287 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 1, + nonterminal_produced: 102, + } + } + 288 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 1, + nonterminal_produced: 103, + } + } + 289 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, nonterminal_produced: 103, } } - 286 => { + 290 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 103, } } - 287 => { + 291 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 103, } } - 288 => { + 292 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 104, } } - 289 => { + 293 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, nonterminal_produced: 104, } } - 290 => { + 294 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 104, } } - 291 => { + 295 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 104, } } - 292 => { + 296 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 105, } } - 293 => { + 297 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 106, } } - 294 => { + 298 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, nonterminal_produced: 106, } } - 295 => { + 299 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 107, } } - 296 => { + 300 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 107, } } - 297 => { + 301 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 107, } } - 298 => { + 302 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 107, } } - 299 => { + 303 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 107, } } - 300 => { + 304 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 107, } } - 301 => { + 305 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 107, } } - 302 => { + 306 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 107, } } - 303 => { + 307 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 107, } } - 304 => { + 308 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 107, } } - 305 => { + 309 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 108, } } - 306 => { + 310 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 108, } } - 307 => { + 311 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 109, } } - 308 => { + 312 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 109, } } - 309 => { + 313 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 110, } } - 310 => { + 314 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 110, } } - 311 => { + 315 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 110, } } - 312 => { + 316 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 110, } } - 313 => { + 317 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 110, } } - 314 => { + 318 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 110, } } - 315 => { + 319 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 110, } } - 316 => { + 320 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 110, } } - 317 => { + 321 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 111, } } - 318 => { + 322 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, nonterminal_produced: 112, } } - 319 => { + 323 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 112, } } - 320 => { + 324 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 113, } } - 321 => { + 325 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 113, } } - 322 => { + 326 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 114, } } - 323 => { + 327 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 114, } } - 324 => { + 328 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 114, } } - 325 => { + 329 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 115, } } - 326 => { + 330 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 116, } } - 327 => { + 331 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 116, } } - 328 => { + 332 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 117, } } - 329 => { + 333 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, nonterminal_produced: 118, } } - 330 => { + 334 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 118, } } - 331 => { + 335 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 119, } } - 332 => { + 336 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 119, } } - 333 => { + 337 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 120, } } - 334 => { + 338 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 121, } } - 335 => { + 339 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 121, } } - 336 => { + 340 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 122, } } - 337 => { + 341 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 123, } } - 338 => { + 342 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 123, } } - 339 => { + 343 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 124, } } - 340 => { + 344 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, nonterminal_produced: 124, } } - 341 => { + 345 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 125, } } - 342 => { + 346 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 125, } } - 343 => { + 347 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 126, } } - 344 => { + 348 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 126, } } - 345 => { + 349 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 127, } } - 346 => { + 350 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, nonterminal_produced: 127, } } - 347 => { + 351 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, nonterminal_produced: 128, } } - 348 => { + 352 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 128, } } - 349 => { + 353 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 6, nonterminal_produced: 128, } } - 350 => { + 354 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 129, } } - 351 => { + 355 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 129, } } - 352 => { + 356 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 5, nonterminal_produced: 130, } } - 353 => { + 357 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 7, nonterminal_produced: 130, } } - 354 => { + 358 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 131, } } - 355 => { + 359 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 131, } } - 356 => { + 360 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 132, } } - 357 => { + 361 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 132, } } - 358 => { + 362 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 133, } } - 359 => { + 363 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 133, } } - 360 => { + 364 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 134, } } - 361 => { + 365 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 135, } } - 362 => { + 366 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 135, } } - 363 => { + 367 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 136, } } - 364 => { + 368 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 137, } } - 365 => { + 369 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 137, } } - 366 => { + 370 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 138, } } - 367 => { + 371 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 138, } } - 368 => { + 372 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 138, } } - 369 => { + 373 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, nonterminal_produced: 138, } } - 370 => { + 374 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 138, } } - 371 => { + 375 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 139, } } - 372 => { + 376 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 139, } } - 373 => { + 377 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 140, } } - 374 => { + 378 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 140, } } - 375 => { + 379 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 141, } } - 376 => { + 380 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 141, } } - 377 => { + 381 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 141, } } - 378 => { + 382 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 141, } } - 379 => { + 383 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 141, } } - 380 => { + 384 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 141, } } - 381 => { + 385 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 10, nonterminal_produced: 142, } } - 382 => { + 386 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 7, nonterminal_produced: 142, } } - 383 => { + 387 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 9, nonterminal_produced: 142, } } - 384 => { + 388 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 6, nonterminal_produced: 142, } } - 385 => { + 389 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 9, + nonterminal_produced: 143, + } + } + 390 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 8, nonterminal_produced: 143, } } - 386 => { + 391 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 10, + nonterminal_produced: 143, + } + } + 392 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 9, nonterminal_produced: 143, } } - 387 => { + 393 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 7, + nonterminal_produced: 143, + } + } + 394 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 6, nonterminal_produced: 143, } } - 388 => { + 395 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 8, + nonterminal_produced: 143, + } + } + 396 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 7, nonterminal_produced: 143, } } - 389 => { + 397 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 8, + nonterminal_produced: 143, + } + } + 398 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 7, nonterminal_produced: 143, } } - 390 => { + 399 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 9, + nonterminal_produced: 143, + } + } + 400 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 8, nonterminal_produced: 143, } } - 391 => { + 401 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 6, + nonterminal_produced: 143, + } + } + 402 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 5, nonterminal_produced: 143, } } - 392 => { + 403 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 7, + nonterminal_produced: 143, + } + } + 404 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 6, nonterminal_produced: 143, } } - 393 => { + 405 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 144, } } - 394 => { + 406 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 144, } } - 395 => { + 407 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 144, } } - 396 => { + 408 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 144, } } - 397 => { + 409 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 144, } } - 398 => { + 410 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 145, } } - 399 => { + 411 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, nonterminal_produced: 145, } } - 400 => { + 412 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 146, } } - 401 => { + 413 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 146, } } - 402 => { + 414 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 147, } } - 403 => { + 415 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 147, } } - 404 => { + 416 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 148, } } - 405 => { + 417 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 149, } } - 406 => { + 418 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 150, } } - 407 => { + 419 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 7, nonterminal_produced: 151, } } - 408 => { + 420 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 8, nonterminal_produced: 151, } } - 409 => { + 421 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, nonterminal_produced: 151, } } - 410 => { + 422 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 5, nonterminal_produced: 151, } } - 411 => { + 423 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 152, } } - 412 => { + 424 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 152, } } - 413 => { + 425 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 153, } } - 414 => { + 426 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 153, } } - 415 => { + 427 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 154, } } - 416 => { + 428 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, nonterminal_produced: 154, } } - 417 => { + 429 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 154, } } - 418 => { + 430 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 154, } } - 419 => { + 431 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 155, } } - 420 => { + 432 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 155, } } - 421 => { + 433 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, nonterminal_produced: 156, } } - 422 => { + 434 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 156, } } - 423 => { + 435 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 157, } } - 424 => { + 436 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 157, } } - 425 => { + 437 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 158, } } - 426 => { + 438 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 158, } } - 427 => { + 439 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 158, } } - 428 => { + 440 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 159, } } - 429 => { + 441 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, nonterminal_produced: 159, } } - 430 => { + 442 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 160, } } - 431 => { + 443 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 160, } } - 432 => { + 444 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 161, } } - 433 => { + 445 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 161, } } - 434 => { + 446 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, nonterminal_produced: 162, } } - 435 => { + 447 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 162, } } - 436 => { + 448 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 163, } } - 437 => { + 449 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 163, } } - 438 => { + 450 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 164, } } - 439 => { + 451 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, nonterminal_produced: 164, } } - 440 => { + 452 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 165, } } - 441 => { + 453 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 165, } } - 442 => { + 454 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 165, } } - 443 => { + 455 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 165, } } - 444 => { + 456 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 165, } } - 445 => { + 457 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 165, } } - 446 => { + 458 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 166, } } - 447 => { + 459 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 166, } } - 448 => { + 460 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 166, } } - 449 => { + 461 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 166, } } - 450 => { + 462 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 166, } } - 451 => { + 463 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 166, } } - 452 => { + 464 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 166, } } - 453 => { + 465 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 167, } } - 454 => { + 466 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, nonterminal_produced: 167, } } - 455 => { + 467 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 167, } } - 456 => { + 468 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 5, nonterminal_produced: 167, } } - 457 => { + 469 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, nonterminal_produced: 167, } } - 458 => { + 470 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 7, nonterminal_produced: 167, } } - 459 => { + 471 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 6, nonterminal_produced: 167, } } - 460 => { + 472 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 5, nonterminal_produced: 168, } } - 461 => { + 473 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, nonterminal_produced: 168, } } - 462 => { + 474 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 169, } } - 463 => { + 475 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 169, } } - 464 => { + 476 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 170, } } - 465 => { + 477 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 171, } } - 466 => { + 478 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 172, } } - 467 => { + 479 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 173, } } - 468 => { + 480 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 173, } } - 469 => { + 481 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 7, nonterminal_produced: 174, } } - 470 => { + 482 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 8, nonterminal_produced: 174, } } - 471 => { + 483 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 8, nonterminal_produced: 174, } } - 472 => { + 484 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 7, nonterminal_produced: 174, } } - 473 => { + 485 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 175, } } - 474 => { + 486 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 175, } } - 475 => { + 487 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 175, } } - 476 => { + 488 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 175, } } - 477 => { + 489 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 175, } } - 478 => { + 490 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 176, } } - 479 => { + 491 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 177, } } - 480 => { + 492 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 177, } } - 481 => { + 493 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 178, } } - 482 => { + 494 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 178, } } - 483 => { + 495 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 179, } } - 484 => { + 496 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 180, } } - 485 => { + 497 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 180, } } - 486 => { + 498 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 181, } } - 487 => { + 499 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 181, } } - 488 => { + 500 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 182, } } - 489 => { + 501 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 182, } } - 490 => { + 502 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 183, } } - 491 => { + 503 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 183, } } - 492 => { + 504 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 184, } } - 493 => { + 505 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 184, } } - 494 => { + 506 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 185, } } - 495 => { + 507 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 185, } } - 496 => { + 508 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 5, nonterminal_produced: 185, } } - 497 => { + 509 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 185, } } - 498 => { + 510 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 186, } } - 499 => { + 511 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 186, } } - 500 => { + 512 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 5, nonterminal_produced: 186, } } - 501 => { + 513 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 186, } } - 502 => { + 514 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 187, } } - 503 => { + 515 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 187, } } - 504 => { + 516 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 188, } } - 505 => { + 517 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 188, } } - 506 => { + 518 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 189, } } - 507 => { + 519 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 189, } } - 508 => { + 520 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 190, } } - 509 => { + 521 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 190, } } - 510 => { + 522 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 191, } } - 511 => { + 523 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 191, } } - 512 => { + 524 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 192, } } - 513 => { + 525 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 192, } } - 514 => { + 526 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 193, } } - 515 => { + 527 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 193, } } - 516 => { + 528 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 194, } } - 517 => { + 529 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 194, } } - 518 => { + 530 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 195, } } - 519 => { + 531 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, + states_to_pop: 3, nonterminal_produced: 195, } } - 520 => { + 532 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, + states_to_pop: 1, nonterminal_produced: 196, } } - 521 => { + 533 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 196, } } - 522 => { + 534 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, nonterminal_produced: 197, } } - 523 => { + 535 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 197, } } - 524 => { + 536 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, + states_to_pop: 2, nonterminal_produced: 198, } } - 525 => { + 537 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, + states_to_pop: 1, nonterminal_produced: 198, } } - 526 => { + 538 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 199, } } - 527 => { + 539 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 199, } } - 528 => { + 540 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 200, } } - 529 => { + 541 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 200, } } - 530 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 200, - } - } - 531 => { + 542 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 201, } } - 532 => { + 543 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 201, } } - 533 => { + 544 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, nonterminal_produced: 201, } } - 534 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 202, - } - } - 535 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, - nonterminal_produced: 202, - } - } - 536 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 10, - nonterminal_produced: 202, - } - } - 537 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, - } - } - 538 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 202, - } - } - 539 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, - nonterminal_produced: 202, - } - } - 540 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 202, - } - } - 541 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 10, - nonterminal_produced: 202, - } - } - 542 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 11, - nonterminal_produced: 202, - } - } - 543 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 202, - } - } - 544 => { - __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, - nonterminal_produced: 202, - } - } 545 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 10, + states_to_pop: 1, nonterminal_produced: 202, } } 546 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, + states_to_pop: 3, nonterminal_produced: 202, } } 547 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, + states_to_pop: 4, nonterminal_produced: 202, } } 548 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 202, + states_to_pop: 7, + nonterminal_produced: 203, } } 549 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 202, + states_to_pop: 9, + nonterminal_produced: 203, } } 550 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, + states_to_pop: 10, + nonterminal_produced: 203, } } 551 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 552 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, + states_to_pop: 8, + nonterminal_produced: 203, } } 553 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 202, + states_to_pop: 9, + nonterminal_produced: 203, } } 554 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, - nonterminal_produced: 202, + states_to_pop: 8, + nonterminal_produced: 203, } } 555 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 202, + states_to_pop: 10, + nonterminal_produced: 203, } } 556 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 202, + states_to_pop: 11, + nonterminal_produced: 203, } } 557 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 202, + states_to_pop: 7, + nonterminal_produced: 203, } } 558 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 202, + states_to_pop: 9, + nonterminal_produced: 203, } } 559 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 202, + states_to_pop: 10, + nonterminal_produced: 203, } } 560 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 5, - nonterminal_produced: 202, + nonterminal_produced: 203, } } 561 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, + states_to_pop: 7, + nonterminal_produced: 203, } } 562 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 8, - nonterminal_produced: 202, + nonterminal_produced: 203, } } 563 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, - nonterminal_produced: 202, + states_to_pop: 4, + nonterminal_produced: 203, } } 564 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 565 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 7, - nonterminal_produced: 202, + nonterminal_produced: 203, } } 566 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 567 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 202, + states_to_pop: 8, + nonterminal_produced: 203, } } 568 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 9, - nonterminal_produced: 202, + nonterminal_produced: 203, } } 569 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 10, - nonterminal_produced: 202, + states_to_pop: 5, + nonterminal_produced: 203, } } 570 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, + states_to_pop: 7, + nonterminal_produced: 203, } } 571 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 8, - nonterminal_produced: 202, + nonterminal_produced: 203, } } 572 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, - nonterminal_produced: 202, + states_to_pop: 2, + nonterminal_produced: 203, } } 573 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, - nonterminal_produced: 202, + nonterminal_produced: 203, } } 574 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, + states_to_pop: 5, + nonterminal_produced: 203, } } 575 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 576 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 202, + states_to_pop: 8, + nonterminal_produced: 203, } } 577 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 202, + states_to_pop: 9, + nonterminal_produced: 203, } } 578 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, + states_to_pop: 5, + nonterminal_produced: 203, } } 579 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 202, + states_to_pop: 7, + nonterminal_produced: 203, } } 580 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 202, + states_to_pop: 8, + nonterminal_produced: 203, } } 581 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 202, + states_to_pop: 7, + nonterminal_produced: 203, } } 582 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 202, + states_to_pop: 9, + nonterminal_produced: 203, } } 583 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, + states_to_pop: 10, + nonterminal_produced: 203, } } 584 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 585 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 202, + states_to_pop: 8, + nonterminal_produced: 203, } } 586 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 202, + states_to_pop: 9, + nonterminal_produced: 203, } } 587 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, - nonterminal_produced: 202, + nonterminal_produced: 203, } } 588 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 589 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, + states_to_pop: 7, + nonterminal_produced: 203, } } 590 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 202, + states_to_pop: 3, + nonterminal_produced: 203, } } 591 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 202, + states_to_pop: 5, + nonterminal_produced: 203, } } 592 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 593 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, + states_to_pop: 5, + nonterminal_produced: 203, } } 594 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 202, + states_to_pop: 7, + nonterminal_produced: 203, } } 595 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 202, + states_to_pop: 8, + nonterminal_produced: 203, } } 596 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 202, + states_to_pop: 4, + nonterminal_produced: 203, } } 597 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 598 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 202, + states_to_pop: 7, + nonterminal_produced: 203, } } 599 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 202, + states_to_pop: 1, + nonterminal_produced: 203, } } 600 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 202, + states_to_pop: 3, + nonterminal_produced: 203, } } 601 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 202, + states_to_pop: 4, + nonterminal_produced: 203, } } 602 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, - nonterminal_produced: 202, + nonterminal_produced: 203, } } 603 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 604 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 202, + states_to_pop: 7, + nonterminal_produced: 203, } } 605 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 202, + states_to_pop: 3, + nonterminal_produced: 203, } } 606 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 202, + states_to_pop: 5, + nonterminal_produced: 203, } } 607 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 608 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 202, + states_to_pop: 5, + nonterminal_produced: 203, } } 609 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 202, + states_to_pop: 4, + nonterminal_produced: 203, } } 610 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 202, + states_to_pop: 6, + nonterminal_produced: 203, } } 611 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 202, + states_to_pop: 5, + nonterminal_produced: 203, } } 612 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, + states_to_pop: 3, nonterminal_produced: 203, } } 613 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, + states_to_pop: 2, nonterminal_produced: 203, } } 614 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 10, + states_to_pop: 4, nonterminal_produced: 203, } } 615 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, + states_to_pop: 3, nonterminal_produced: 203, } } 616 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, + states_to_pop: 4, nonterminal_produced: 203, } } 617 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, + states_to_pop: 3, nonterminal_produced: 203, } } 618 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, + states_to_pop: 5, nonterminal_produced: 203, } } 619 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 10, + states_to_pop: 4, nonterminal_produced: 203, } } 620 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 11, + states_to_pop: 2, nonterminal_produced: 203, } } 621 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, + states_to_pop: 1, nonterminal_produced: 203, } } 622 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, + states_to_pop: 3, nonterminal_produced: 203, } } 623 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 10, + states_to_pop: 2, nonterminal_produced: 203, } } 624 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, + states_to_pop: 2, nonterminal_produced: 203, } } 625 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, + states_to_pop: 1, nonterminal_produced: 203, } } 626 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 203, + states_to_pop: 7, + nonterminal_produced: 204, } } 627 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 203, + states_to_pop: 9, + nonterminal_produced: 204, } } 628 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 203, + states_to_pop: 10, + nonterminal_produced: 204, } } 629 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 630 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 203, + states_to_pop: 8, + nonterminal_produced: 204, } } 631 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 203, + states_to_pop: 9, + nonterminal_produced: 204, } } 632 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, - nonterminal_produced: 203, + states_to_pop: 8, + nonterminal_produced: 204, } } 633 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 203, + states_to_pop: 10, + nonterminal_produced: 204, } } 634 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 203, + states_to_pop: 11, + nonterminal_produced: 204, } } 635 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 203, + states_to_pop: 7, + nonterminal_produced: 204, } } 636 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 203, + states_to_pop: 9, + nonterminal_produced: 204, } } 637 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 203, + states_to_pop: 10, + nonterminal_produced: 204, } } 638 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 5, - nonterminal_produced: 203, + nonterminal_produced: 204, } } 639 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 203, + states_to_pop: 7, + nonterminal_produced: 204, } } 640 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 8, - nonterminal_produced: 203, + nonterminal_produced: 204, } } 641 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, - nonterminal_produced: 203, + states_to_pop: 4, + nonterminal_produced: 204, } } 642 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 643 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 7, - nonterminal_produced: 203, + nonterminal_produced: 204, } } 644 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 645 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 203, + states_to_pop: 8, + nonterminal_produced: 204, } } 646 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 9, - nonterminal_produced: 203, + nonterminal_produced: 204, } } 647 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 10, - nonterminal_produced: 203, + states_to_pop: 5, + nonterminal_produced: 204, } } 648 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 203, + states_to_pop: 7, + nonterminal_produced: 204, } } 649 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 8, - nonterminal_produced: 203, + nonterminal_produced: 204, } } 650 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 9, - nonterminal_produced: 203, + states_to_pop: 2, + nonterminal_produced: 204, } } 651 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, - nonterminal_produced: 203, + nonterminal_produced: 204, } } 652 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 203, + states_to_pop: 5, + nonterminal_produced: 204, } } 653 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 654 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 203, + states_to_pop: 8, + nonterminal_produced: 204, } } 655 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 203, + states_to_pop: 9, + nonterminal_produced: 204, } } 656 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 203, + states_to_pop: 5, + nonterminal_produced: 204, } } 657 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 203, + states_to_pop: 7, + nonterminal_produced: 204, } } 658 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 203, + states_to_pop: 8, + nonterminal_produced: 204, } } 659 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 8, - nonterminal_produced: 203, + states_to_pop: 7, + nonterminal_produced: 204, } } 660 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 203, + states_to_pop: 9, + nonterminal_produced: 204, } } 661 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 203, + states_to_pop: 10, + nonterminal_produced: 204, } } 662 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 663 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 203, + states_to_pop: 8, + nonterminal_produced: 204, } } 664 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 203, + states_to_pop: 9, + nonterminal_produced: 204, } } 665 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, - nonterminal_produced: 203, + nonterminal_produced: 204, } } 666 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 667 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 203, + states_to_pop: 7, + nonterminal_produced: 204, } } 668 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 203, + states_to_pop: 3, + nonterminal_produced: 204, } } 669 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 203, + states_to_pop: 5, + nonterminal_produced: 204, } } 670 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 671 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 203, + states_to_pop: 5, + nonterminal_produced: 204, } } 672 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 203, + states_to_pop: 7, + nonterminal_produced: 204, } } 673 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 203, + states_to_pop: 8, + nonterminal_produced: 204, } } 674 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 203, + states_to_pop: 4, + nonterminal_produced: 204, } } 675 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 676 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 203, + states_to_pop: 7, + nonterminal_produced: 204, } } 677 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 203, + states_to_pop: 1, + nonterminal_produced: 204, } } 678 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 203, + states_to_pop: 3, + nonterminal_produced: 204, } } 679 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 203, + states_to_pop: 4, + nonterminal_produced: 204, } } 680 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, - nonterminal_produced: 203, + nonterminal_produced: 204, } } 681 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 682 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 203, + states_to_pop: 7, + nonterminal_produced: 204, } } 683 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 203, + states_to_pop: 3, + nonterminal_produced: 204, } } 684 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 203, + states_to_pop: 5, + nonterminal_produced: 204, } } 685 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 686 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 203, + states_to_pop: 5, + nonterminal_produced: 204, } } 687 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 203, + states_to_pop: 4, + nonterminal_produced: 204, } } 688 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 203, + states_to_pop: 6, + nonterminal_produced: 204, } } 689 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 203, + states_to_pop: 5, + nonterminal_produced: 204, } } 690 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, + states_to_pop: 3, nonterminal_produced: 204, } } 691 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 0, + states_to_pop: 2, nonterminal_produced: 204, } } 692 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, - nonterminal_produced: 205, + nonterminal_produced: 204, } } 693 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 205, + nonterminal_produced: 204, } } 694 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 205, + states_to_pop: 4, + nonterminal_produced: 204, } } 695 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 205, + states_to_pop: 3, + nonterminal_produced: 204, } } 696 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 205, + states_to_pop: 5, + nonterminal_produced: 204, } } 697 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 205, + states_to_pop: 4, + nonterminal_produced: 204, } } 698 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 205, + states_to_pop: 2, + nonterminal_produced: 204, } } 699 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 205, + states_to_pop: 1, + nonterminal_produced: 204, } } 700 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 206, + states_to_pop: 3, + nonterminal_produced: 204, } } 701 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 206, + states_to_pop: 2, + nonterminal_produced: 204, } } 702 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 206, + states_to_pop: 2, + nonterminal_produced: 204, } } 703 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 206, + states_to_pop: 1, + nonterminal_produced: 204, } } 704 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 206, + states_to_pop: 1, + nonterminal_produced: 205, } } 705 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 206, + states_to_pop: 0, + nonterminal_produced: 205, } } 706 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, + states_to_pop: 4, nonterminal_produced: 206, } } 707 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, + states_to_pop: 3, nonterminal_produced: 206, } } 708 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 207, + states_to_pop: 5, + nonterminal_produced: 206, } } 709 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 207, + states_to_pop: 4, + nonterminal_produced: 206, } } 710 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 208, + states_to_pop: 2, + nonterminal_produced: 206, } } 711 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 209, + nonterminal_produced: 206, } } 712 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 209, + states_to_pop: 3, + nonterminal_produced: 206, } } 713 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 210, + states_to_pop: 2, + nonterminal_produced: 206, } } 714 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 0, - nonterminal_produced: 210, + states_to_pop: 4, + nonterminal_produced: 207, } } 715 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 211, + states_to_pop: 3, + nonterminal_produced: 207, } } 716 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 211, + states_to_pop: 5, + nonterminal_produced: 207, } } 717 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 211, + states_to_pop: 4, + nonterminal_produced: 207, } } 718 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 211, + states_to_pop: 2, + nonterminal_produced: 207, } } 719 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 212, + states_to_pop: 1, + nonterminal_produced: 207, } } 720 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 212, + states_to_pop: 3, + nonterminal_produced: 207, } } 721 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 213, + states_to_pop: 2, + nonterminal_produced: 207, } } 722 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 213, + states_to_pop: 3, + nonterminal_produced: 208, } } 723 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 0, - nonterminal_produced: 214, + states_to_pop: 2, + nonterminal_produced: 208, } } 724 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 214, + states_to_pop: 1, + nonterminal_produced: 209, } } 725 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 214, + states_to_pop: 1, + nonterminal_produced: 210, } } 726 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 214, + states_to_pop: 1, + nonterminal_produced: 210, } } 727 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 214, + states_to_pop: 1, + nonterminal_produced: 211, } } 728 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 214, + states_to_pop: 0, + nonterminal_produced: 211, } } 729 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, - nonterminal_produced: 214, + nonterminal_produced: 212, } } 730 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 215, + states_to_pop: 2, + nonterminal_produced: 212, } } 731 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 215, + states_to_pop: 1, + nonterminal_produced: 212, } } 732 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 215, + states_to_pop: 1, + nonterminal_produced: 212, } } 733 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 216, + nonterminal_produced: 213, } } 734 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 216, + states_to_pop: 1, + nonterminal_produced: 213, } } 735 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 216, + states_to_pop: 3, + nonterminal_produced: 214, } } 736 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 216, + states_to_pop: 1, + nonterminal_produced: 214, } } 737 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 216, + states_to_pop: 0, + nonterminal_produced: 215, } } 738 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 216, + states_to_pop: 2, + nonterminal_produced: 215, } } 739 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 216, + states_to_pop: 4, + nonterminal_produced: 215, } } 740 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 216, + states_to_pop: 5, + nonterminal_produced: 215, } } 741 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 216, + nonterminal_produced: 215, } } 742 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 217, + states_to_pop: 4, + nonterminal_produced: 215, } } 743 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 217, + states_to_pop: 2, + nonterminal_produced: 215, } } 744 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 218, + states_to_pop: 1, + nonterminal_produced: 216, } } 745 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 218, + states_to_pop: 4, + nonterminal_produced: 216, } } 746 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 219, + states_to_pop: 2, + nonterminal_produced: 216, } } 747 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 219, + states_to_pop: 3, + nonterminal_produced: 217, } } 748 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 220, + states_to_pop: 2, + nonterminal_produced: 217, } } 749 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 220, + states_to_pop: 4, + nonterminal_produced: 217, } } 750 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 5, - nonterminal_produced: 221, + nonterminal_produced: 217, } } 751 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 221, + states_to_pop: 4, + nonterminal_produced: 217, } } 752 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 221, + states_to_pop: 3, + nonterminal_produced: 217, } } 753 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 221, + states_to_pop: 2, + nonterminal_produced: 217, } } 754 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 222, + states_to_pop: 4, + nonterminal_produced: 217, } } 755 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 222, + states_to_pop: 3, + nonterminal_produced: 217, } } 756 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, - nonterminal_produced: 223, + nonterminal_produced: 218, } } 757 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 223, + nonterminal_produced: 218, } } 758 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 224, + states_to_pop: 3, + nonterminal_produced: 219, } } 759 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 0, - nonterminal_produced: 224, + states_to_pop: 1, + nonterminal_produced: 219, } } 760 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 225, + states_to_pop: 3, + nonterminal_produced: 220, } } 761 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 225, + nonterminal_produced: 220, } } 762 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 225, + nonterminal_produced: 221, } } 763 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 225, + nonterminal_produced: 221, } } 764 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 225, + states_to_pop: 5, + nonterminal_produced: 222, } } 765 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 225, + states_to_pop: 6, + nonterminal_produced: 222, } } 766 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 225, + states_to_pop: 4, + nonterminal_produced: 222, } } 767 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 225, + states_to_pop: 5, + nonterminal_produced: 222, } } 768 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 226, + states_to_pop: 1, + nonterminal_produced: 223, } } 769 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, - nonterminal_produced: 227, + nonterminal_produced: 223, } } 770 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 228, + states_to_pop: 2, + nonterminal_produced: 224, } } 771 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 228, + nonterminal_produced: 224, } } 772 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 229, + nonterminal_produced: 225, } } 773 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 0, - nonterminal_produced: 229, + nonterminal_produced: 225, } } 774 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 230, + nonterminal_produced: 226, } } 775 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 231, + nonterminal_produced: 226, } } 776 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 0, - nonterminal_produced: 231, + states_to_pop: 1, + nonterminal_produced: 226, } } 777 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 232, + states_to_pop: 1, + nonterminal_produced: 226, } } 778 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 232, + states_to_pop: 1, + nonterminal_produced: 226, } } 779 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 232, + states_to_pop: 1, + nonterminal_produced: 226, } } 780 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 232, + states_to_pop: 1, + nonterminal_produced: 226, } } 781 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 232, + nonterminal_produced: 226, } } 782 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 232, + states_to_pop: 1, + nonterminal_produced: 226, } } 783 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 232, + states_to_pop: 2, + nonterminal_produced: 227, } } 784 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 232, + states_to_pop: 2, + nonterminal_produced: 228, } } 785 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 232, + nonterminal_produced: 229, } } 786 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 232, + states_to_pop: 1, + nonterminal_produced: 229, } } 787 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 233, + nonterminal_produced: 230, } } 788 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 233, + states_to_pop: 0, + nonterminal_produced: 230, } } 789 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 233, + states_to_pop: 1, + nonterminal_produced: 231, } } 790 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 233, + states_to_pop: 1, + nonterminal_produced: 232, } } 791 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 233, + states_to_pop: 0, + nonterminal_produced: 232, } } 792 => { @@ -10375,7 +10711,7 @@ mod __parse__Top { } 793 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, + states_to_pop: 4, nonterminal_produced: 233, } } @@ -10387,539 +10723,695 @@ mod __parse__Top { } 795 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, + states_to_pop: 3, nonterminal_produced: 233, } } 796 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 234, + nonterminal_produced: 233, } } 797 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 2, - nonterminal_produced: 234, + nonterminal_produced: 233, } } 798 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 234, + states_to_pop: 4, + nonterminal_produced: 233, } } 799 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 234, + states_to_pop: 5, + nonterminal_produced: 233, } } 800 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 235, + nonterminal_produced: 233, } } 801 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, - nonterminal_produced: 235, + nonterminal_produced: 233, } } 802 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 235, + states_to_pop: 1, + nonterminal_produced: 234, } } 803 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 235, + states_to_pop: 4, + nonterminal_produced: 234, } } 804 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 235, + states_to_pop: 3, + nonterminal_produced: 234, } } 805 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 236, + nonterminal_produced: 234, } } 806 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 236, + states_to_pop: 2, + nonterminal_produced: 234, } } 807 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 237, + nonterminal_produced: 234, } } 808 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 237, + states_to_pop: 2, + nonterminal_produced: 234, } } 809 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 238, + states_to_pop: 2, + nonterminal_produced: 234, } } 810 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 238, + nonterminal_produced: 234, } } 811 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 238, + nonterminal_produced: 235, } } 812 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 239, + states_to_pop: 2, + nonterminal_produced: 235, } } 813 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 0, - nonterminal_produced: 239, + states_to_pop: 2, + nonterminal_produced: 235, } } 814 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 240, + states_to_pop: 1, + nonterminal_produced: 235, } } 815 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 240, + states_to_pop: 3, + nonterminal_produced: 236, } } 816 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 240, + states_to_pop: 4, + nonterminal_produced: 236, } } 817 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 241, + states_to_pop: 2, + nonterminal_produced: 236, } } 818 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 242, + states_to_pop: 3, + nonterminal_produced: 236, } } 819 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 0, - nonterminal_produced: 242, + states_to_pop: 4, + nonterminal_produced: 236, } } 820 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 243, + states_to_pop: 3, + nonterminal_produced: 237, } } 821 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 243, + nonterminal_produced: 237, } } 822 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 244, + states_to_pop: 3, + nonterminal_produced: 238, } } 823 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 244, + nonterminal_produced: 238, } } 824 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 245, + states_to_pop: 5, + nonterminal_produced: 239, } } 825 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 246, + nonterminal_produced: 239, } } 826 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 246, + nonterminal_produced: 239, } } 827 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 247, + states_to_pop: 1, + nonterminal_produced: 240, } } 828 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 247, + states_to_pop: 0, + nonterminal_produced: 240, } } 829 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 247, + states_to_pop: 5, + nonterminal_produced: 241, } } 830 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 247, + states_to_pop: 1, + nonterminal_produced: 241, } } 831 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 10, - nonterminal_produced: 248, + states_to_pop: 1, + nonterminal_produced: 241, } } 832 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 248, + states_to_pop: 1, + nonterminal_produced: 242, } } 833 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 248, + states_to_pop: 1, + nonterminal_produced: 243, } } 834 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 248, + states_to_pop: 0, + nonterminal_produced: 243, } } 835 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 10, - nonterminal_produced: 248, + states_to_pop: 1, + nonterminal_produced: 244, } } 836 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 248, + states_to_pop: 1, + nonterminal_produced: 244, } } 837 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 248, + states_to_pop: 1, + nonterminal_produced: 245, } } 838 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 248, + states_to_pop: 1, + nonterminal_produced: 245, } } 839 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 248, + states_to_pop: 1, + nonterminal_produced: 246, } } 840 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 249, + states_to_pop: 1, + nonterminal_produced: 247, } } 841 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 249, + states_to_pop: 1, + nonterminal_produced: 247, } } 842 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 250, + states_to_pop: 2, + nonterminal_produced: 248, } } 843 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 250, + states_to_pop: 2, + nonterminal_produced: 248, } } 844 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 251, + states_to_pop: 2, + nonterminal_produced: 248, } } 845 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 251, + nonterminal_produced: 248, } } 846 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 252, + states_to_pop: 10, + nonterminal_produced: 249, } } 847 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 252, + states_to_pop: 7, + nonterminal_produced: 249, } } 848 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 253, + states_to_pop: 7, + nonterminal_produced: 249, } } 849 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 253, + states_to_pop: 4, + nonterminal_produced: 249, } } 850 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 254, + states_to_pop: 10, + nonterminal_produced: 249, } } 851 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 254, + states_to_pop: 7, + nonterminal_produced: 249, } } 852 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 254, + states_to_pop: 7, + nonterminal_produced: 249, } } 853 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 255, + states_to_pop: 4, + nonterminal_produced: 249, } } 854 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 256, + states_to_pop: 6, + nonterminal_produced: 249, } } 855 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 257, + states_to_pop: 3, + nonterminal_produced: 250, } } 856 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 257, + states_to_pop: 3, + nonterminal_produced: 250, } } 857 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 258, + states_to_pop: 3, + nonterminal_produced: 251, } } 858 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 258, + nonterminal_produced: 251, } } 859 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 259, + nonterminal_produced: 252, } } 860 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 260, + states_to_pop: 3, + nonterminal_produced: 252, } } 861 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, - nonterminal_produced: 260, + nonterminal_produced: 253, } } 862 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 261, + states_to_pop: 3, + nonterminal_produced: 253, } } 863 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 261, + states_to_pop: 1, + nonterminal_produced: 254, } } 864 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 261, + states_to_pop: 5, + nonterminal_produced: 255, } } 865 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 4, - nonterminal_produced: 261, + nonterminal_produced: 255, } } 866 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 7, - nonterminal_produced: 261, + states_to_pop: 3, + nonterminal_produced: 256, } } 867 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 261, + states_to_pop: 1, + nonterminal_produced: 256, } } 868 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 261, + states_to_pop: 2, + nonterminal_produced: 256, } } 869 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 261, + states_to_pop: 2, + nonterminal_produced: 256, } } 870 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 6, - nonterminal_produced: 261, + states_to_pop: 4, + nonterminal_produced: 257, } } 871 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 261, + states_to_pop: 3, + nonterminal_produced: 257, } } 872 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 261, + nonterminal_produced: 258, } } 873 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 261, + states_to_pop: 0, + nonterminal_produced: 258, } } 874 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 1, - nonterminal_produced: 262, + states_to_pop: 3, + nonterminal_produced: 259, } } 875 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 5, - nonterminal_produced: 263, + states_to_pop: 1, + nonterminal_produced: 259, } } 876 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 4, - nonterminal_produced: 263, + states_to_pop: 1, + nonterminal_produced: 260, } } 877 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 264, + states_to_pop: 1, + nonterminal_produced: 260, } } 878 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 264, + nonterminal_produced: 260, } } 879 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 3, - nonterminal_produced: 265, + states_to_pop: 1, + nonterminal_produced: 261, } } 880 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, - nonterminal_produced: 265, + nonterminal_produced: 262, } } 881 => { __state_machine::SimulatedReduce::Reduce { - states_to_pop: 2, - nonterminal_produced: 266, + states_to_pop: 7, + nonterminal_produced: 263, } } 882 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 4, + nonterminal_produced: 263, + } + } + 883 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 1, + nonterminal_produced: 264, + } + } + 884 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 3, + nonterminal_produced: 264, + } + } + 885 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 3, + nonterminal_produced: 265, + } + } + 886 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 1, nonterminal_produced: 266, } } - 883 => { + 887 => { __state_machine::SimulatedReduce::Reduce { states_to_pop: 3, nonterminal_produced: 266, } } - 884 => __state_machine::SimulatedReduce::Accept, + 888 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 4, + nonterminal_produced: 267, + } + } + 889 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 3, + nonterminal_produced: 267, + } + } + 890 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 6, + nonterminal_produced: 267, + } + } + 891 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 4, + nonterminal_produced: 267, + } + } + 892 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 7, + nonterminal_produced: 267, + } + } + 893 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 5, + nonterminal_produced: 267, + } + } + 894 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 5, + nonterminal_produced: 267, + } + } + 895 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 3, + nonterminal_produced: 267, + } + } + 896 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 6, + nonterminal_produced: 267, + } + } + 897 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 4, + nonterminal_produced: 267, + } + } + 898 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 1, + nonterminal_produced: 267, + } + } + 899 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 2, + nonterminal_produced: 267, + } + } + 900 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 1, + nonterminal_produced: 268, + } + } + 901 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 5, + nonterminal_produced: 269, + } + } + 902 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 4, + nonterminal_produced: 269, + } + } + 903 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 3, + nonterminal_produced: 270, + } + } + 904 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 1, + nonterminal_produced: 270, + } + } + 905 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 3, + nonterminal_produced: 271, + } + } + 906 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 1, + nonterminal_produced: 271, + } + } + 907 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 2, + nonterminal_produced: 272, + } + } + 908 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 1, + nonterminal_produced: 272, + } + } + 909 => { + __state_machine::SimulatedReduce::Reduce { + states_to_pop: 3, + nonterminal_produced: 272, + } + } + 910 => __state_machine::SimulatedReduce::Accept, _ => panic!("invalid reduction index {}", __reduce_index) } } @@ -11071,16 +11563,16 @@ mod __parse__Top { __reduce24(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 25 => { - // ("," >) = ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(916); + // ("," >) = ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(939); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action916::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action939::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11088,7 +11580,7 @@ mod __parse__Top { (5, 15) } 26 => { - // ("," >) = ",", "*", ",", KwargParameter => ActionFn(917); + // ("," >) = ",", "*", ",", KwargParameter => ActionFn(940); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -11096,7 +11588,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action917::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action940::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11104,17 +11596,17 @@ mod __parse__Top { (4, 15) } 27 => { - // ("," >) = ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(918); + // ("," >) = ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(941); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action918::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action941::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11122,7 +11614,7 @@ mod __parse__Top { (6, 15) } 28 => { - // ("," >) = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(919); + // ("," >) = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(942); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11131,7 +11623,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action919::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action942::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11139,14 +11631,14 @@ mod __parse__Top { (5, 15) } 29 => { - // ("," >) = ",", "*", StarTypedParameter => ActionFn(920); + // ("," >) = ",", "*", StarTypedParameter => ActionFn(943); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action920::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action943::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11154,13 +11646,13 @@ mod __parse__Top { (3, 15) } 30 => { - // ("," >) = ",", "*" => ActionFn(921); + // ("," >) = ",", "*" => ActionFn(944); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action921::<>(__sym0, __sym1) { + let __nt = match super::__action944::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11168,15 +11660,15 @@ mod __parse__Top { (2, 15) } 31 => { - // ("," >) = ",", "*", StarTypedParameter, ("," >)+ => ActionFn(922); + // ("," >) = ",", "*", StarTypedParameter, ("," >)+ => ActionFn(945); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action922::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action945::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11184,14 +11676,14 @@ mod __parse__Top { (4, 15) } 32 => { - // ("," >) = ",", "*", ("," >)+ => ActionFn(923); + // ("," >) = ",", "*", ("," >)+ => ActionFn(946); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action923::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action946::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11199,16 +11691,16 @@ mod __parse__Top { (3, 15) } 33 => { - // ("," >)? = ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(940); + // ("," >)? = ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(963); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action940::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action963::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11216,7 +11708,7 @@ mod __parse__Top { (5, 16) } 34 => { - // ("," >)? = ",", "*", ",", KwargParameter => ActionFn(941); + // ("," >)? = ",", "*", ",", KwargParameter => ActionFn(964); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -11224,7 +11716,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action941::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action964::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11232,17 +11724,17 @@ mod __parse__Top { (4, 16) } 35 => { - // ("," >)? = ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(942); + // ("," >)? = ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(965); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action942::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action965::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11250,7 +11742,7 @@ mod __parse__Top { (6, 16) } 36 => { - // ("," >)? = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(943); + // ("," >)? = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(966); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11259,7 +11751,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action943::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action966::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11267,14 +11759,14 @@ mod __parse__Top { (5, 16) } 37 => { - // ("," >)? = ",", "*", StarTypedParameter => ActionFn(944); + // ("," >)? = ",", "*", StarTypedParameter => ActionFn(967); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action944::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action967::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11282,13 +11774,13 @@ mod __parse__Top { (3, 16) } 38 => { - // ("," >)? = ",", "*" => ActionFn(945); + // ("," >)? = ",", "*" => ActionFn(968); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action945::<>(__sym0, __sym1) { + let __nt = match super::__action968::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11296,15 +11788,15 @@ mod __parse__Top { (2, 16) } 39 => { - // ("," >)? = ",", "*", StarTypedParameter, ("," >)+ => ActionFn(946); + // ("," >)? = ",", "*", StarTypedParameter, ("," >)+ => ActionFn(969); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action946::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action969::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11312,14 +11804,14 @@ mod __parse__Top { (4, 16) } 40 => { - // ("," >)? = ",", "*", ("," >)+ => ActionFn(947); + // ("," >)? = ",", "*", ("," >)+ => ActionFn(970); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action947::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action970::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11330,16 +11822,16 @@ mod __parse__Top { __reduce41(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 42 => { - // ("," >) = ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(976); + // ("," >) = ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(999); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action976::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action999::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11347,7 +11839,7 @@ mod __parse__Top { (5, 17) } 43 => { - // ("," >) = ",", "*", ",", KwargParameter => ActionFn(977); + // ("," >) = ",", "*", ",", KwargParameter => ActionFn(1000); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -11355,7 +11847,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action977::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1000::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11363,17 +11855,17 @@ mod __parse__Top { (4, 17) } 44 => { - // ("," >) = ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(978); + // ("," >) = ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1001); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action978::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1001::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11381,7 +11873,7 @@ mod __parse__Top { (6, 17) } 45 => { - // ("," >) = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(979); + // ("," >) = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1002); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11390,7 +11882,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action979::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1002::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11398,14 +11890,14 @@ mod __parse__Top { (5, 17) } 46 => { - // ("," >) = ",", "*", StarUntypedParameter => ActionFn(980); + // ("," >) = ",", "*", StarUntypedParameter => ActionFn(1003); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action980::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1003::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11413,13 +11905,13 @@ mod __parse__Top { (3, 17) } 47 => { - // ("," >) = ",", "*" => ActionFn(981); + // ("," >) = ",", "*" => ActionFn(1004); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action981::<>(__sym0, __sym1) { + let __nt = match super::__action1004::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11427,15 +11919,15 @@ mod __parse__Top { (2, 17) } 48 => { - // ("," >) = ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(982); + // ("," >) = ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1005); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action982::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1005::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11443,14 +11935,14 @@ mod __parse__Top { (4, 17) } 49 => { - // ("," >) = ",", "*", ("," >)+ => ActionFn(983); + // ("," >) = ",", "*", ("," >)+ => ActionFn(1006); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action983::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1006::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11458,16 +11950,16 @@ mod __parse__Top { (3, 17) } 50 => { - // ("," >)? = ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1000); + // ("," >)? = ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1023); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1000::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1023::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11475,7 +11967,7 @@ mod __parse__Top { (5, 18) } 51 => { - // ("," >)? = ",", "*", ",", KwargParameter => ActionFn(1001); + // ("," >)? = ",", "*", ",", KwargParameter => ActionFn(1024); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -11483,7 +11975,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1001::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1024::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11491,17 +11983,17 @@ mod __parse__Top { (4, 18) } 52 => { - // ("," >)? = ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1002); + // ("," >)? = ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1025); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1002::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1025::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11509,7 +12001,7 @@ mod __parse__Top { (6, 18) } 53 => { - // ("," >)? = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1003); + // ("," >)? = ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1026); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -11518,7 +12010,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1003::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1026::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11526,14 +12018,14 @@ mod __parse__Top { (5, 18) } 54 => { - // ("," >)? = ",", "*", StarUntypedParameter => ActionFn(1004); + // ("," >)? = ",", "*", StarUntypedParameter => ActionFn(1027); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1004::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1027::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11541,13 +12033,13 @@ mod __parse__Top { (3, 18) } 55 => { - // ("," >)? = ",", "*" => ActionFn(1005); + // ("," >)? = ",", "*" => ActionFn(1028); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1005::<>(__sym0, __sym1) { + let __nt = match super::__action1028::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11555,15 +12047,15 @@ mod __parse__Top { (2, 18) } 56 => { - // ("," >)? = ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1006); + // ("," >)? = ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1029); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); - let __sym2 = __pop_Variant59(__symbols); + let __sym2 = __pop_Variant61(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1006::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1029::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11571,14 +12063,14 @@ mod __parse__Top { (4, 18) } 57 => { - // ("," >)? = ",", "*", ("," >)+ => ActionFn(1007); + // ("," >)? = ",", "*", ("," >)+ => ActionFn(1030); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1007::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1030::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11889,11 +12381,11 @@ mod __parse__Top { __reduce158(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 159 => { - // ArgumentList = FunctionArgument => ActionFn(1462); + // ArgumentList = FunctionArgument => ActionFn(1501); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1462::<>(__sym0) { + let __nt = match super::__action1501::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11901,10 +12393,10 @@ mod __parse__Top { (1, 83) } 160 => { - // ArgumentList = => ActionFn(1463); + // ArgumentList = => ActionFn(1502); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = match super::__action1463::<>(&__start, &__end) { + let __nt = match super::__action1502::<>(&__start, &__end) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11912,13 +12404,13 @@ mod __parse__Top { (0, 83) } 161 => { - // ArgumentList = ( ",")+, FunctionArgument => ActionFn(1464); + // ArgumentList = ( ",")+, FunctionArgument => ActionFn(1503); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant29(__symbols); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1464::<>(__sym0, __sym1) { + let __nt = match super::__action1503::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11926,11 +12418,11 @@ mod __parse__Top { (2, 83) } 162 => { - // ArgumentList = ( ",")+ => ActionFn(1465); + // ArgumentList = ( ",")+ => ActionFn(1504); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1465::<>(__sym0) { + let __nt = match super::__action1504::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11950,14 +12442,14 @@ mod __parse__Top { __reduce166(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 167 => { - // AsPattern = OrPattern, "as", Identifier => ActionFn(1158); + // AsPattern = OrPattern, "as", Identifier => ActionFn(1183); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1158::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1183::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -11992,11 +12484,11 @@ mod __parse__Top { __reduce176(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 177 => { - // Atom<"all"> = (@L string @R)+ => ActionFn(693); + // Atom<"all"> = (@L string @R)+ => ActionFn(706); let __sym0 = __pop_Variant41(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action693::<>(__sym0) { + let __nt = match super::__action706::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12025,7 +12517,7 @@ mod __parse__Top { __reduce184(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 185 => { - // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ",", ")" => ActionFn(1167); + // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ",", ")" => ActionFn(1192); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -12035,7 +12527,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1167::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1192::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12043,7 +12535,7 @@ mod __parse__Top { (6, 92) } 186 => { - // Atom<"all"> = "(", NamedOrStarExpr, ",", ")" => ActionFn(1168); + // Atom<"all"> = "(", NamedOrStarExpr, ",", ")" => ActionFn(1193); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -12051,7 +12543,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1168::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1193::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12059,7 +12551,7 @@ mod __parse__Top { (4, 92) } 187 => { - // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1169); + // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1194); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -12070,7 +12562,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1169::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1194::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12078,7 +12570,7 @@ mod __parse__Top { (7, 92) } 188 => { - // Atom<"all"> = "(", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1170); + // Atom<"all"> = "(", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1195); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -12087,7 +12579,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1170::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1195::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12095,7 +12587,7 @@ mod __parse__Top { (5, 92) } 189 => { - // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ")" => ActionFn(1171); + // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ")" => ActionFn(1196); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant15(__symbols); @@ -12104,7 +12596,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1171::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1196::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12112,14 +12604,14 @@ mod __parse__Top { (5, 92) } 190 => { - // Atom<"all"> = "(", NamedOrStarExpr, ")" => ActionFn(1172); + // Atom<"all"> = "(", NamedOrStarExpr, ")" => ActionFn(1197); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1172::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1197::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12127,7 +12619,7 @@ mod __parse__Top { (3, 92) } 191 => { - // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ")" => ActionFn(1173); + // Atom<"all"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ")" => ActionFn(1198); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant17(__symbols); @@ -12137,7 +12629,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1173::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1198::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12145,7 +12637,7 @@ mod __parse__Top { (6, 92) } 192 => { - // Atom<"all"> = "(", NamedOrStarExpr, ("," )+, ")" => ActionFn(1174); + // Atom<"all"> = "(", NamedOrStarExpr, ("," )+, ")" => ActionFn(1199); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant17(__symbols); @@ -12153,7 +12645,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1174::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1199::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12170,7 +12662,7 @@ mod __parse__Top { __reduce195(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 196 => { - // Atom<"all"> = "(", "**", Expression<"all">, ")" => ActionFn(1177); + // Atom<"all"> = "(", "**", Expression<"all">, ")" => ActionFn(1202); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -12178,7 +12670,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1177::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1202::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12213,11 +12705,11 @@ mod __parse__Top { __reduce205(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 206 => { - // Atom<"no-withitems"> = (@L string @R)+ => ActionFn(713); + // Atom<"no-withitems"> = (@L string @R)+ => ActionFn(726); let __sym0 = __pop_Variant41(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action713::<>(__sym0) { + let __nt = match super::__action726::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12240,7 +12732,7 @@ mod __parse__Top { __reduce211(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 212 => { - // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ",", ")" => ActionFn(1190); + // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ",", ")" => ActionFn(1215); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -12250,7 +12742,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1190::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1215::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12258,7 +12750,7 @@ mod __parse__Top { (6, 93) } 213 => { - // Atom<"no-withitems"> = "(", NamedOrStarExpr, ",", ")" => ActionFn(1191); + // Atom<"no-withitems"> = "(", NamedOrStarExpr, ",", ")" => ActionFn(1216); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -12266,7 +12758,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1191::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1216::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12274,7 +12766,7 @@ mod __parse__Top { (4, 93) } 214 => { - // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1192); + // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1217); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -12285,7 +12777,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1192::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1217::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12293,7 +12785,7 @@ mod __parse__Top { (7, 93) } 215 => { - // Atom<"no-withitems"> = "(", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1193); + // Atom<"no-withitems"> = "(", NamedOrStarExpr, ("," )+, ",", ")" => ActionFn(1218); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -12302,7 +12794,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1193::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1218::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12310,7 +12802,7 @@ mod __parse__Top { (5, 93) } 216 => { - // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ")" => ActionFn(1194); + // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ")" => ActionFn(1219); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant15(__symbols); @@ -12319,7 +12811,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1194::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1219::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12327,14 +12819,14 @@ mod __parse__Top { (5, 93) } 217 => { - // Atom<"no-withitems"> = "(", NamedOrStarExpr, ")" => ActionFn(1195); + // Atom<"no-withitems"> = "(", NamedOrStarExpr, ")" => ActionFn(1220); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1195::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1220::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12342,7 +12834,7 @@ mod __parse__Top { (3, 93) } 218 => { - // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ")" => ActionFn(1196); + // Atom<"no-withitems"> = "(", OneOrMore>, ",", NamedOrStarExpr, ("," )+, ")" => ActionFn(1221); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant17(__symbols); @@ -12352,7 +12844,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1196::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1221::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12360,7 +12852,7 @@ mod __parse__Top { (6, 93) } 219 => { - // Atom<"no-withitems"> = "(", NamedOrStarExpr, ("," )+, ")" => ActionFn(1197); + // Atom<"no-withitems"> = "(", NamedOrStarExpr, ("," )+, ")" => ActionFn(1222); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant17(__symbols); @@ -12368,7 +12860,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1197::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1222::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -12385,7 +12877,7 @@ mod __parse__Top { __reduce222(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 223 => { - // Atom<"no-withitems"> = "(", "**", Expression<"all">, ")" => ActionFn(1200); + // Atom<"no-withitems"> = "(", "**", Expression<"all">, ")" => ActionFn(1225); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -12393,7 +12885,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1200::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1225::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; @@ -13031,35 +13523,10 @@ mod __parse__Top { __reduce433(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 434 => { - // LambdaDef = "lambda", ParameterList, ":", Test<"all"> => ActionFn(1632); - assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant15(__symbols); - let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant44(__symbols); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0; - let __end = __sym3.2; - let __nt = match super::__action1632::<>(__sym0, __sym1, __sym2, __sym3) { - Ok(v) => v, - Err(e) => return Some(Err(e)), - }; - __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (4, 162) + __reduce434(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 435 => { - // LambdaDef = "lambda", ":", Test<"all"> => ActionFn(1633); - assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant15(__symbols); - let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0; - let __end = __sym2.2; - let __nt = match super::__action1633::<>(__sym0, __sym1, __sym2) { - Ok(v) => v, - Err(e) => return Some(Err(e)), - }; - __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 162) + __reduce435(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 436 => { __reduce436(__lookahead_start, __symbols, core::marker::PhantomData::<()>) @@ -13089,22 +13556,38 @@ mod __parse__Top { __reduce444(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 445 => { - // LiteralPattern = (@L string @R)+ => ActionFn(1275); - let __sym0 = __pop_Variant41(__symbols); + __reduce445(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 446 => { + // LambdaDef = "lambda", ParameterList, ":", Test<"all"> => ActionFn(1671); + assert!(__symbols.len() >= 4); + let __sym3 = __pop_Variant15(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant44(__symbols); + let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; - let __end = __sym0.2; - let __nt = match super::__action1275::<>(__sym0) { + let __end = __sym3.2; + let __nt = match super::__action1671::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; - __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (1, 165) - } - 446 => { - __reduce446(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + __symbols.push((__start, __Symbol::Variant15(__nt), __end)); + (4, 162) } 447 => { - __reduce447(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + // LambdaDef = "lambda", ":", Test<"all"> => ActionFn(1672); + assert!(__symbols.len() >= 3); + let __sym2 = __pop_Variant15(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym2.2; + let __nt = match super::__action1672::<>(__sym0, __sym1, __sym2) { + Ok(v) => v, + Err(e) => return Some(Err(e)), + }; + __symbols.push((__start, __Symbol::Variant15(__nt), __end)); + (3, 162) } 448 => { __reduce448(__lookahead_start, __symbols, core::marker::PhantomData::<()>) @@ -13119,16 +13602,7 @@ mod __parse__Top { __reduce451(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 452 => { - // MappingKey = (@L string @R)+ => ActionFn(810); - let __sym0 = __pop_Variant41(__symbols); - let __start = __sym0.0; - let __end = __sym0.2; - let __nt = match super::__action810::<>(__sym0) { - Ok(v) => v, - Err(e) => return Some(Err(e)), - }; - __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 166) + __reduce452(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 453 => { __reduce453(__lookahead_start, __symbols, core::marker::PhantomData::<()>) @@ -13143,7 +13617,16 @@ mod __parse__Top { __reduce456(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 457 => { - __reduce457(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + // LiteralPattern = (@L string @R)+ => ActionFn(1304); + let __sym0 = __pop_Variant41(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = match super::__action1304::<>(__sym0) { + Ok(v) => v, + Err(e) => return Some(Err(e)), + }; + __symbols.push((__start, __Symbol::Variant33(__nt), __end)); + (1, 165) } 458 => { __reduce458(__lookahead_start, __symbols, core::marker::PhantomData::<()>) @@ -13164,7 +13647,16 @@ mod __parse__Top { __reduce463(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 464 => { - __reduce464(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + // MappingKey = (@L string @R)+ => ActionFn(826); + let __sym0 = __pop_Variant41(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = match super::__action826::<>(__sym0) { + Ok(v) => v, + Err(e) => return Some(Err(e)), + }; + __symbols.push((__start, __Symbol::Variant15(__nt), __end)); + (1, 166) } 465 => { __reduce465(__lookahead_start, __symbols, core::marker::PhantomData::<()>) @@ -13374,87 +13866,129 @@ mod __parse__Top { __reduce533(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 534 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1512); + __reduce534(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 535 => { + __reduce535(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 536 => { + __reduce536(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 537 => { + __reduce537(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 538 => { + __reduce538(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 539 => { + __reduce539(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 540 => { + __reduce540(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 541 => { + __reduce541(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 542 => { + __reduce542(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 543 => { + __reduce543(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 544 => { + __reduce544(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 545 => { + __reduce545(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 546 => { + __reduce546(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 547 => { + __reduce547(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 548 => { + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1551); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1512::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1551::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 535 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1513); + 549 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1552); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1513::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1552::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 202) + (9, 203) } - 536 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1514); + 550 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1553); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1514::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1553::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (10, 202) + (10, 203) } - 537 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1515); + 551 => { + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1554); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1515::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1554::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 538 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1516); + 552 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1555); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -13463,18 +13997,18 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1516::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1555::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 202) + (8, 203) } - 539 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1517); + 553 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1556); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -13484,83 +14018,83 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1517::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1556::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 202) + (9, 203) } - 540 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1518); + 554 => { + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1557); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1518::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1557::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 202) + (8, 203) } - 541 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1519); + 555 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1558); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1519::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1558::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (10, 202) + (10, 203) } - 542 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1520); + 556 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1559); assert!(__symbols.len() >= 11); let __sym10 = __pop_Variant0(__symbols); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym10.2; - let __nt = match super::__action1520::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { + let __nt = match super::__action1559::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (11, 202) + (11, 203) } - 543 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1521); + 557 => { + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1560); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -13568,18 +14102,18 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1521::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1560::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 544 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1522); + 558 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1561); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -13589,18 +14123,18 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1522::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1561::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 202) + (9, 203) } - 545 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1523); + 559 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1562); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -13611,108 +14145,108 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1523::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1562::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (10, 202) + (10, 203) } - 546 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, "," => ActionFn(1524); + 560 => { + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, "," => ActionFn(1563); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1524::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1563::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 202) + (5, 203) } - 547 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, "," => ActionFn(1525); + 561 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, "," => ActionFn(1564); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1525::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1564::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 548 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, "," => ActionFn(1526); + 562 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, "," => ActionFn(1565); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1526::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1565::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 202) + (8, 203) } - 549 => { - // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1527); + 563 => { + // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1566); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1527::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1566::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 202) + (4, 203) } - 550 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1528); + 564 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1567); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1528::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1567::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 551 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1529); + 565 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1568); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -13720,94 +14254,94 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1529::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1568::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 552 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1530); + 566 => { + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1569); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1530::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1569::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 553 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1531); + 567 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1570); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1531::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1570::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 202) + (8, 203) } - 554 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1532); + 568 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, "," => ActionFn(1571); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1532::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1571::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 202) + (9, 203) } - 555 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1533); + 569 => { + // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1572); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1533::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1572::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 202) + (5, 203) } - 556 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1534); + 570 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1573); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant12(__symbols); @@ -13815,18 +14349,18 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1534::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1573::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 557 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1535); + 571 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1574); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -13835,141 +14369,141 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1535::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1574::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 202) + (8, 203) } - 558 => { - // ParameterList = OneOrMore>, "," => ActionFn(1536); + 572 => { + // ParameterList = OneOrMore>, "," => ActionFn(1575); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1536::<>(__sym0, __sym1) { + let __nt = match super::__action1575::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 202) + (2, 203) } - 559 => { - // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1537); + 573 => { + // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1576); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1537::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1576::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 202) + (4, 203) } - 560 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1538); + 574 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1577); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1538::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1577::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 202) + (5, 203) } - 561 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1539); + 575 => { + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1578); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1539::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1578::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 562 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1540); + 576 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1579); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1540::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1579::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 202) + (8, 203) } - 563 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1541); + 577 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ",", KwargParameter => ActionFn(1580); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1541::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1580::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 202) + (9, 203) } - 564 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1542); + 578 => { + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1581); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1542::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1581::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 202) + (5, 203) } - 565 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1543); + 579 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1582); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -13977,18 +14511,18 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1543::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1582::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 566 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1544); + 580 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1583); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -13997,98 +14531,98 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1544::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1583::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 202) + (8, 203) } - 567 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1545); + 581 => { + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1584); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1545::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1584::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 568 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1546); + 582 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1585); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1546::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1585::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 202) + (9, 203) } - 569 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1547); + 583 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1586); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1547::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1586::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (10, 202) + (10, 203) } - 570 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1548); + 584 => { + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1587); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1548::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1587::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 571 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1549); + 585 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1588); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -14097,18 +14631,18 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1549::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1588::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 202) + (8, 203) } - 572 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1550); + 586 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1589); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -14118,211 +14652,211 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1550::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1589::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 202) + (9, 203) } - 573 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter => ActionFn(1551); + 587 => { + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter => ActionFn(1590); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1551::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1590::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 202) + (4, 203) } - 574 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter => ActionFn(1552); + 588 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter => ActionFn(1591); assert!(__symbols.len() >= 6); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1552::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1591::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 575 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter => ActionFn(1553); + 589 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter => ActionFn(1592); assert!(__symbols.len() >= 7); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1553::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1592::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 576 => { - // ParameterList = OneOrMore>, ",", "*" => ActionFn(1554); + 590 => { + // ParameterList = OneOrMore>, ",", "*" => ActionFn(1593); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1554::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1593::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 202) + (3, 203) } - 577 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1555); + 591 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1594); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1555::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1594::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 202) + (5, 203) } - 578 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1556); + 592 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1595); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1556::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1595::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 579 => { - // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1557); + 593 => { + // ParameterList = OneOrMore>, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1596); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1557::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1596::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 202) + (5, 203) } - 580 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1558); + 594 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1597); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1558::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1597::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 581 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1559); + 595 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarTypedParameter, ("," >)+ => ActionFn(1598); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1559::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1598::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 202) + (8, 203) } - 582 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1560); + 596 => { + // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1599); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1560::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1599::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 202) + (4, 203) } - 583 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1561); + 597 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1600); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant12(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1561::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1600::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 584 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1562); + 598 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1601); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -14330,95 +14864,95 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1562::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1601::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 585 => { - // ParameterList = OneOrMore> => ActionFn(1563); - let __sym0 = __pop_Variant76(__symbols); + 599 => { + // ParameterList = OneOrMore> => ActionFn(1602); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1563::<>(__sym0) { + let __nt = match super::__action1602::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (1, 202) + (1, 203) } - 586 => { - // ParameterList = OneOrMore>, ",", "/" => ActionFn(1564); + 600 => { + // ParameterList = OneOrMore>, ",", "/" => ActionFn(1603); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1564::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1603::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 202) + (3, 203) } - 587 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1565); + 601 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1604); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1565::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1604::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 202) + (4, 203) } - 588 => { - // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1566); + 602 => { + // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1605); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1566::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1605::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 202) + (4, 203) } - 589 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1567); + 603 => { + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1606); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1567::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1606::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 590 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1568); + 604 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1607); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -14426,85 +14960,85 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1568::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1607::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 202) + (7, 203) } - 591 => { - // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1569); + 605 => { + // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1608); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1569::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1608::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 202) + (3, 203) } - 592 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1570); + 606 => { + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1609); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1570::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1609::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 202) + (5, 203) } - 593 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1571); + 607 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1610); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1571::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1610::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 594 => { - // ParameterList = "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1316); + 608 => { + // ParameterList = "*", StarTypedParameter, ",", KwargParameter, "," => ActionFn(1347); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1316::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1347::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 202) + (5, 203) } - 595 => { - // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1317); + 609 => { + // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1348); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -14512,33 +15046,33 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1317::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1348::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 202) + (4, 203) } - 596 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1318); + 610 => { + // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1349); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1318::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1349::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 202) + (6, 203) } - 597 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1319); + 611 => { + // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1350); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -14547,123 +15081,123 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1319::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1350::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 202) + (5, 203) } - 598 => { - // ParameterList = "*", StarTypedParameter, "," => ActionFn(1320); + 612 => { + // ParameterList = "*", StarTypedParameter, "," => ActionFn(1351); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1320::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1351::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 202) + (3, 203) } - 599 => { - // ParameterList = "*", "," => ActionFn(1321); + 613 => { + // ParameterList = "*", "," => ActionFn(1352); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1321::<>(__sym0, __sym1) { + let __nt = match super::__action1352::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 202) + (2, 203) } - 600 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, "," => ActionFn(1322); + 614 => { + // ParameterList = "*", StarTypedParameter, ("," >)+, "," => ActionFn(1353); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1322::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1353::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 202) + (4, 203) } - 601 => { - // ParameterList = "*", ("," >)+, "," => ActionFn(1323); + 615 => { + // ParameterList = "*", ("," >)+, "," => ActionFn(1354); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1323::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1354::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 202) + (3, 203) } - 602 => { - // ParameterList = "*", StarTypedParameter, ",", KwargParameter => ActionFn(1324); + 616 => { + // ParameterList = "*", StarTypedParameter, ",", KwargParameter => ActionFn(1355); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1324::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1355::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 202) + (4, 203) } - 603 => { - // ParameterList = "*", ",", KwargParameter => ActionFn(1325); + 617 => { + // ParameterList = "*", ",", KwargParameter => ActionFn(1356); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1325::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1356::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 202) + (3, 203) } - 604 => { - // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1326); + 618 => { + // ParameterList = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1357); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1326::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1357::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 202) + (5, 203) } - 605 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1327); + 619 => { + // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1358); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -14671,156 +15205,156 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1327::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1358::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 202) + (4, 203) } - 606 => { - // ParameterList = "*", StarTypedParameter => ActionFn(1328); + 620 => { + // ParameterList = "*", StarTypedParameter => ActionFn(1359); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1328::<>(__sym0, __sym1) { + let __nt = match super::__action1359::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 202) + (2, 203) } - 607 => { - // ParameterList = "*" => ActionFn(1329); + 621 => { + // ParameterList = "*" => ActionFn(1360); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1329::<>(__sym0) { + let __nt = match super::__action1360::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (1, 202) + (1, 203) } - 608 => { - // ParameterList = "*", StarTypedParameter, ("," >)+ => ActionFn(1330); + 622 => { + // ParameterList = "*", StarTypedParameter, ("," >)+ => ActionFn(1361); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1330::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1361::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 202) + (3, 203) } - 609 => { - // ParameterList = "*", ("," >)+ => ActionFn(1331); + 623 => { + // ParameterList = "*", ("," >)+ => ActionFn(1362); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1331::<>(__sym0, __sym1) { + let __nt = match super::__action1362::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 202) + (2, 203) } - 610 => { - __reduce610(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + 624 => { + __reduce624(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } - 611 => { - __reduce611(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + 625 => { + __reduce625(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } - 612 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1572); + 626 => { + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1611); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1572::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1611::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 613 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1573); + 627 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1612); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1573::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1612::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 203) + (9, 204) } - 614 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1574); + 628 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1613); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1574::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1613::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (10, 203) + (10, 204) } - 615 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1575); + 629 => { + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter, "," => ActionFn(1614); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1575::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1614::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 616 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1576); + 630 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter, "," => ActionFn(1615); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); @@ -14829,18 +15363,18 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1576::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1615::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 203) + (8, 204) } - 617 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1577); + 631 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter, "," => ActionFn(1616); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -14850,83 +15384,83 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1577::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1616::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 203) + (9, 204) } - 618 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1578); + 632 => { + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1617); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1578::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1617::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 203) + (8, 204) } - 619 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1579); + 633 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1618); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1579::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1618::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (10, 203) + (10, 204) } - 620 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1580); + 634 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1619); assert!(__symbols.len() >= 11); let __sym10 = __pop_Variant0(__symbols); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym10.2; - let __nt = match super::__action1580::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { + let __nt = match super::__action1619::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9, __sym10) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (11, 203) + (11, 204) } - 621 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1581); + 635 => { + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1620); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -14934,18 +15468,18 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1581::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1620::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 622 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1582); + 636 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1621); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant9(__symbols); @@ -14955,18 +15489,18 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1582::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1621::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 203) + (9, 204) } - 623 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1583); + 637 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1622); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant0(__symbols); let __sym8 = __pop_Variant9(__symbols); @@ -14977,108 +15511,108 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1583::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1622::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (10, 203) + (10, 204) } - 624 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, "," => ActionFn(1584); + 638 => { + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, "," => ActionFn(1623); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1584::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1623::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 203) + (5, 204) } - 625 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, "," => ActionFn(1585); + 639 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, "," => ActionFn(1624); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1585::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1624::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 626 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, "," => ActionFn(1586); + 640 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, "," => ActionFn(1625); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1586::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1625::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 203) + (8, 204) } - 627 => { - // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1587); + 641 => { + // ParameterList = OneOrMore>, ",", "*", "," => ActionFn(1626); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1587::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1626::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 203) + (4, 204) } - 628 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1588); + 642 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", "," => ActionFn(1627); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1588::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1627::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 629 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1589); + 643 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", "," => ActionFn(1628); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15086,94 +15620,94 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1589::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1628::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 630 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1590); + 644 => { + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1629); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1590::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1629::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 631 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1591); + 645 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1630); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1591::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1630::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 203) + (8, 204) } - 632 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1592); + 646 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1631); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1592::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1631::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 203) + (9, 204) } - 633 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1593); + 647 => { + // ParameterList = OneOrMore>, ",", "*", ("," >)+, "," => ActionFn(1632); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1593::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1632::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 203) + (5, 204) } - 634 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1594); + 648 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, "," => ActionFn(1633); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant12(__symbols); @@ -15181,18 +15715,18 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1594::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1633::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 635 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1595); + 649 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, "," => ActionFn(1634); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); @@ -15201,141 +15735,141 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1595::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1634::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 203) + (8, 204) } - 636 => { - // ParameterList = OneOrMore>, "," => ActionFn(1596); + 650 => { + // ParameterList = OneOrMore>, "," => ActionFn(1635); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1596::<>(__sym0, __sym1) { + let __nt = match super::__action1635::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 203) + (2, 204) } - 637 => { - // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1597); + 651 => { + // ParameterList = OneOrMore>, ",", "/", "," => ActionFn(1636); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1597::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1636::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 203) + (4, 204) } - 638 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1598); + 652 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, "," => ActionFn(1637); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1598::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1637::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 203) + (5, 204) } - 639 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1599); + 653 => { + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1638); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1599::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1638::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 640 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1600); + 654 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1639); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1600::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1639::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 203) + (8, 204) } - 641 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1601); + 655 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1640); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1601::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1640::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 203) + (9, 204) } - 642 => { - // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1602); + 656 => { + // ParameterList = OneOrMore>, ",", "*", ",", KwargParameter => ActionFn(1641); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1602::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1641::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 203) + (5, 204) } - 643 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1603); + 657 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ",", KwargParameter => ActionFn(1642); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15343,18 +15877,18 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1603::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1642::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 644 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1604); + 658 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ",", KwargParameter => ActionFn(1643); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -15363,98 +15897,98 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1604::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1643::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 203) + (8, 204) } - 645 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1605); + 659 => { + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1644); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant9(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1605::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1644::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 646 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1606); + 660 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1645); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1606::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1645::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 203) + (9, 204) } - 647 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1607); + 661 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1646); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant9(__symbols); let __sym8 = __pop_Variant0(__symbols); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = match super::__action1607::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { + let __nt = match super::__action1646::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (10, 203) + (10, 204) } - 648 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1608); + 662 => { + // ParameterList = OneOrMore>, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1647); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1608::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1647::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 649 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1609); + 663 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1648); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant9(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -15463,18 +15997,18 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1609::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1648::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 203) + (8, 204) } - 650 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1610); + 664 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+, ",", KwargParameter => ActionFn(1649); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant9(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -15484,211 +16018,211 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = match super::__action1610::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { + let __nt = match super::__action1649::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (9, 203) + (9, 204) } - 651 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter => ActionFn(1611); + 665 => { + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter => ActionFn(1650); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1611::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1650::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 203) + (4, 204) } - 652 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter => ActionFn(1612); + 666 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter => ActionFn(1651); assert!(__symbols.len() >= 6); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1612::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1651::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 653 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter => ActionFn(1613); + 667 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter => ActionFn(1652); assert!(__symbols.len() >= 7); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1613::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1652::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 654 => { - // ParameterList = OneOrMore>, ",", "*" => ActionFn(1614); + 668 => { + // ParameterList = OneOrMore>, ",", "*" => ActionFn(1653); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1614::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1653::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 203) + (3, 204) } - 655 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1615); + 669 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*" => ActionFn(1654); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1615::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1654::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 203) + (5, 204) } - 656 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1616); + 670 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*" => ActionFn(1655); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1616::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1655::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 657 => { - // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1617); + 671 => { + // ParameterList = OneOrMore>, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1656); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant12(__symbols); - let __sym3 = __pop_Variant59(__symbols); + let __sym3 = __pop_Variant61(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1617::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1656::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 203) + (5, 204) } - 658 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1618); + 672 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1657); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); - let __sym5 = __pop_Variant59(__symbols); + let __sym5 = __pop_Variant61(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1618::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1657::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 659 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1619); + 673 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", StarUntypedParameter, ("," >)+ => ActionFn(1658); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant12(__symbols); - let __sym6 = __pop_Variant59(__symbols); + let __sym6 = __pop_Variant61(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = match super::__action1619::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { + let __nt = match super::__action1658::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (8, 203) + (8, 204) } - 660 => { - // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1620); + 674 => { + // ParameterList = OneOrMore>, ",", "*", ("," >)+ => ActionFn(1659); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1620::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1659::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 203) + (4, 204) } - 661 => { - // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1621); + 675 => { + // ParameterList = OneOrMore>, ",", "/", ",", "*", ("," >)+ => ActionFn(1660); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant12(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1621::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1660::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 662 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1622); + 676 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", "*", ("," >)+ => ActionFn(1661); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant12(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -15696,95 +16230,95 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1622::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1661::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 663 => { - // ParameterList = OneOrMore> => ActionFn(1623); - let __sym0 = __pop_Variant76(__symbols); + 677 => { + // ParameterList = OneOrMore> => ActionFn(1662); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1623::<>(__sym0) { + let __nt = match super::__action1662::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (1, 203) + (1, 204) } - 664 => { - // ParameterList = OneOrMore>, ",", "/" => ActionFn(1624); + 678 => { + // ParameterList = OneOrMore>, ",", "/" => ActionFn(1663); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1624::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1663::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 203) + (3, 204) } - 665 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1625); + 679 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+ => ActionFn(1664); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1625::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1664::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 203) + (4, 204) } - 666 => { - // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1626); + 680 => { + // ParameterList = OneOrMore>, ",", KwargParameter, "," => ActionFn(1665); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1626::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1665::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 203) + (4, 204) } - 667 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1627); + 681 => { + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter, "," => ActionFn(1666); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1627::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1666::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 668 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1628); + 682 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter, "," => ActionFn(1667); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant9(__symbols); @@ -15792,85 +16326,85 @@ mod __parse__Top { let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = match super::__action1628::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { + let __nt = match super::__action1667::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (7, 203) + (7, 204) } - 669 => { - // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1629); + 683 => { + // ParameterList = OneOrMore>, ",", KwargParameter => ActionFn(1668); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1629::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1668::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 203) + (3, 204) } - 670 => { - // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1630); + 684 => { + // ParameterList = OneOrMore>, ",", "/", ",", KwargParameter => ActionFn(1669); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1630::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1669::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 203) + (5, 204) } - 671 => { - // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1631); + 685 => { + // ParameterList = OneOrMore>, ",", "/", ("," >)+, ",", KwargParameter => ActionFn(1670); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant9(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1631::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1670::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 672 => { - // ParameterList = "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1354); + 686 => { + // ParameterList = "*", StarUntypedParameter, ",", KwargParameter, "," => ActionFn(1385); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1354::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1385::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 203) + (5, 204) } - 673 => { - // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1355); + 687 => { + // ParameterList = "*", ",", KwargParameter, "," => ActionFn(1386); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant9(__symbols); @@ -15878,33 +16412,33 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1355::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1386::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 203) + (4, 204) } - 674 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1356); + 688 => { + // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter, "," => ActionFn(1387); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = match super::__action1356::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { + let __nt = match super::__action1387::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (6, 203) + (6, 204) } - 675 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1357); + 689 => { + // ParameterList = "*", ("," >)+, ",", KwargParameter, "," => ActionFn(1388); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant9(__symbols); @@ -15913,123 +16447,123 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1357::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1388::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 203) + (5, 204) } - 676 => { - // ParameterList = "*", StarUntypedParameter, "," => ActionFn(1358); + 690 => { + // ParameterList = "*", StarUntypedParameter, "," => ActionFn(1389); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1358::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1389::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 203) + (3, 204) } - 677 => { - // ParameterList = "*", "," => ActionFn(1359); + 691 => { + // ParameterList = "*", "," => ActionFn(1390); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1359::<>(__sym0, __sym1) { + let __nt = match super::__action1390::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 203) + (2, 204) } - 678 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1360); + 692 => { + // ParameterList = "*", StarUntypedParameter, ("," >)+, "," => ActionFn(1391); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1360::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1391::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 203) + (4, 204) } - 679 => { - // ParameterList = "*", ("," >)+, "," => ActionFn(1361); + 693 => { + // ParameterList = "*", ("," >)+, "," => ActionFn(1392); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1361::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1392::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 203) + (3, 204) } - 680 => { - // ParameterList = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1362); + 694 => { + // ParameterList = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(1393); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1362::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1393::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 203) + (4, 204) } - 681 => { - // ParameterList = "*", ",", KwargParameter => ActionFn(1363); + 695 => { + // ParameterList = "*", ",", KwargParameter => ActionFn(1394); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1363::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1394::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 203) + (3, 204) } - 682 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1364); + 696 => { + // ParameterList = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(1395); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action1364::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action1395::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (5, 203) + (5, 204) } - 683 => { - // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1365); + 697 => { + // ParameterList = "*", ("," >)+, ",", KwargParameter => ActionFn(1396); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -16037,130 +16571,130 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action1365::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action1396::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (4, 203) + (4, 204) } - 684 => { - // ParameterList = "*", StarUntypedParameter => ActionFn(1366); + 698 => { + // ParameterList = "*", StarUntypedParameter => ActionFn(1397); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1366::<>(__sym0, __sym1) { + let __nt = match super::__action1397::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 203) + (2, 204) } - 685 => { - // ParameterList = "*" => ActionFn(1367); + 699 => { + // ParameterList = "*" => ActionFn(1398); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action1367::<>(__sym0) { + let __nt = match super::__action1398::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (1, 203) + (1, 204) } - 686 => { - // ParameterList = "*", StarUntypedParameter, ("," >)+ => ActionFn(1368); + 700 => { + // ParameterList = "*", StarUntypedParameter, ("," >)+ => ActionFn(1399); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1368::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1399::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 203) + (3, 204) } - 687 => { - // ParameterList = "*", ("," >)+ => ActionFn(1369); + 701 => { + // ParameterList = "*", ("," >)+ => ActionFn(1400); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1369::<>(__sym0, __sym1) { + let __nt = match super::__action1400::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 203) + (2, 204) } - 688 => { - __reduce688(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + 702 => { + __reduce702(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } - 689 => { - __reduce689(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + 703 => { + __reduce703(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } - 690 => { - __reduce690(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + 704 => { + __reduce704(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } - 691 => { - __reduce691(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + 705 => { + __reduce705(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } - 692 => { - // ParameterListStarArgs = "*", StarTypedParameter, ",", KwargParameter => ActionFn(849); + 706 => { + // ParameterListStarArgs = "*", StarTypedParameter, ",", KwargParameter => ActionFn(865); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action849::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action865::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (4, 205) + (4, 206) } - 693 => { - // ParameterListStarArgs = "*", ",", KwargParameter => ActionFn(850); + 707 => { + // ParameterListStarArgs = "*", ",", KwargParameter => ActionFn(866); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action850::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action866::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (3, 205) + (3, 206) } - 694 => { - // ParameterListStarArgs = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(851); + 708 => { + // ParameterListStarArgs = "*", StarTypedParameter, ("," >)+, ",", KwargParameter => ActionFn(867); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action851::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action867::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (5, 205) + (5, 206) } - 695 => { - // ParameterListStarArgs = "*", ("," >)+, ",", KwargParameter => ActionFn(852); + 709 => { + // ParameterListStarArgs = "*", ("," >)+, ",", KwargParameter => ActionFn(868); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -16168,118 +16702,118 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action852::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action868::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (4, 205) + (4, 206) } - 696 => { - // ParameterListStarArgs = "*", StarTypedParameter => ActionFn(853); + 710 => { + // ParameterListStarArgs = "*", StarTypedParameter => ActionFn(869); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action853::<>(__sym0, __sym1) { + let __nt = match super::__action869::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (2, 205) + (2, 206) } - 697 => { - // ParameterListStarArgs = "*" => ActionFn(854); + 711 => { + // ParameterListStarArgs = "*" => ActionFn(870); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action854::<>(__sym0) { + let __nt = match super::__action870::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (1, 205) + (1, 206) } - 698 => { - // ParameterListStarArgs = "*", StarTypedParameter, ("," >)+ => ActionFn(855); + 712 => { + // ParameterListStarArgs = "*", StarTypedParameter, ("," >)+ => ActionFn(871); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action855::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action871::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (3, 205) + (3, 206) } - 699 => { - // ParameterListStarArgs = "*", ("," >)+ => ActionFn(856); + 713 => { + // ParameterListStarArgs = "*", ("," >)+ => ActionFn(872); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action856::<>(__sym0, __sym1) { + let __nt = match super::__action872::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (2, 205) + (2, 206) } - 700 => { - // ParameterListStarArgs = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(968); + 714 => { + // ParameterListStarArgs = "*", StarUntypedParameter, ",", KwargParameter => ActionFn(991); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action968::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action991::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (4, 206) + (4, 207) } - 701 => { - // ParameterListStarArgs = "*", ",", KwargParameter => ActionFn(969); + 715 => { + // ParameterListStarArgs = "*", ",", KwargParameter => ActionFn(992); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant9(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action969::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action992::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (3, 206) + (3, 207) } - 702 => { - // ParameterListStarArgs = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(970); + 716 => { + // ParameterListStarArgs = "*", StarUntypedParameter, ("," >)+, ",", KwargParameter => ActionFn(993); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant9(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = match super::__action970::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { + let __nt = match super::__action993::<>(__sym0, __sym1, __sym2, __sym3, __sym4) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (5, 206) + (5, 207) } - 703 => { - // ParameterListStarArgs = "*", ("," >)+, ",", KwargParameter => ActionFn(971); + 717 => { + // ParameterListStarArgs = "*", ("," >)+, ",", KwargParameter => ActionFn(994); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant9(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -16287,138 +16821,96 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = match super::__action971::<>(__sym0, __sym1, __sym2, __sym3) { + let __nt = match super::__action994::<>(__sym0, __sym1, __sym2, __sym3) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (4, 206) + (4, 207) } - 704 => { - // ParameterListStarArgs = "*", StarUntypedParameter => ActionFn(972); + 718 => { + // ParameterListStarArgs = "*", StarUntypedParameter => ActionFn(995); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action972::<>(__sym0, __sym1) { + let __nt = match super::__action995::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (2, 206) + (2, 207) } - 705 => { - // ParameterListStarArgs = "*" => ActionFn(973); + 719 => { + // ParameterListStarArgs = "*" => ActionFn(996); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = match super::__action973::<>(__sym0) { + let __nt = match super::__action996::<>(__sym0) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (1, 206) + (1, 207) } - 706 => { - // ParameterListStarArgs = "*", StarUntypedParameter, ("," >)+ => ActionFn(974); + 720 => { + // ParameterListStarArgs = "*", StarUntypedParameter, ("," >)+ => ActionFn(997); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant12(__symbols); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action974::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action997::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (3, 206) + (3, 207) } - 707 => { - // ParameterListStarArgs = "*", ("," >)+ => ActionFn(975); + 721 => { + // ParameterListStarArgs = "*", ("," >)+ => ActionFn(998); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant12(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action975::<>(__sym0, __sym1) { + let __nt = match super::__action998::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant13(__nt), __end)); - (2, 206) + (2, 207) } - 708 => { - // Parameters = "(", ParameterList, ")" => ActionFn(1452); + 722 => { + // Parameters = "(", ParameterList, ")" => ActionFn(1491); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant44(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = match super::__action1452::<>(__sym0, __sym1, __sym2) { + let __nt = match super::__action1491::<>(__sym0, __sym1, __sym2) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (3, 207) + (3, 208) } - 709 => { - // Parameters = "(", ")" => ActionFn(1453); + 723 => { + // Parameters = "(", ")" => ActionFn(1492); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = match super::__action1453::<>(__sym0, __sym1) { + let __nt = match super::__action1492::<>(__sym0, __sym1) { Ok(v) => v, Err(e) => return Some(Err(e)), }; __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 207) - } - 710 => { - __reduce710(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 711 => { - __reduce711(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 712 => { - __reduce712(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 713 => { - __reduce713(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 714 => { - __reduce714(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 715 => { - __reduce715(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 716 => { - __reduce716(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 717 => { - __reduce717(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 718 => { - __reduce718(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 719 => { - __reduce719(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 720 => { - __reduce720(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 721 => { - __reduce721(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 722 => { - __reduce722(__lookahead_start, __symbols, core::marker::PhantomData::<()>) - } - 723 => { - __reduce723(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + (2, 208) } 724 => { __reduce724(__lookahead_start, __symbols, core::marker::PhantomData::<()>) @@ -16901,8 +17393,86 @@ mod __parse__Top { __reduce883(__lookahead_start, __symbols, core::marker::PhantomData::<()>) } 884 => { + __reduce884(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 885 => { + __reduce885(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 886 => { + __reduce886(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 887 => { + __reduce887(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 888 => { + __reduce888(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 889 => { + __reduce889(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 890 => { + __reduce890(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 891 => { + __reduce891(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 892 => { + __reduce892(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 893 => { + __reduce893(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 894 => { + __reduce894(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 895 => { + __reduce895(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 896 => { + __reduce896(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 897 => { + __reduce897(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 898 => { + __reduce898(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 899 => { + __reduce899(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 900 => { + __reduce900(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 901 => { + __reduce901(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 902 => { + __reduce902(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 903 => { + __reduce903(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 904 => { + __reduce904(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 905 => { + __reduce905(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 906 => { + __reduce906(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 907 => { + __reduce907(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 908 => { + __reduce908(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 909 => { + __reduce909(__lookahead_start, __symbols, core::marker::PhantomData::<()>) + } + 910 => { // __Top = Top => ActionFn(0); - let __sym0 = __pop_Variant84(__symbols); + let __sym0 = __pop_Variant87(__symbols); let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action0::<>(__sym0); @@ -16941,23 +17511,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant55< + fn __pop_Variant57< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (Option>, ast::Expr), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant55(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant57(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant68< + fn __pop_Variant70< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (Option, Option), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant68(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant70(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -16991,13 +17561,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant77< + fn __pop_Variant80< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (Vec, Vec), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant77(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant80(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17011,13 +17581,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant56< + fn __pop_Variant58< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (ast::Expr, ast::Expr), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant56(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant58(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17031,23 +17601,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant72< + fn __pop_Variant74< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (ast::Expr, ast::Pattern), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant72(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant74(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant71< + fn __pop_Variant73< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, (ast::Identifier, ast::Pattern), TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant71(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant73(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17111,13 +17681,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant81< + fn __pop_Variant84< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Option, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant81(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant84(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17151,53 +17721,53 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant57< + fn __pop_Variant59< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec<(Option>, ast::Expr)>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant57(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant59(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant75< + fn __pop_Variant77< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant75(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant77(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant74< + fn __pop_Variant76< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec<(ast::Identifier, ast::Pattern)>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant74(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant76(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant65< + fn __pop_Variant67< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant65(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant67(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant76< + fn __pop_Variant78< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant76(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant78(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17221,13 +17791,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant73< + fn __pop_Variant75< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant73(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant75(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17241,13 +17811,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant83< + fn __pop_Variant86< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant83(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant86(__v), __r)) => (__l, __v, __r), + _ => __symbol_type_mismatch() + } + } + fn __pop_Variant79< + >( + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> + ) -> (TextSize, Vec, TextSize) + { + match __symbols.pop() { + Some((__l, __Symbol::Variant79(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17321,23 +17901,33 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant80< + fn __pop_Variant83< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, alloc::vec::Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant80(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant83(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant62< + fn __pop_Variant56< + >( + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> + ) -> (TextSize, alloc::vec::Vec, TextSize) + { + match __symbols.pop() { + Some((__l, __Symbol::Variant56(__v), __r)) => (__l, __v, __r), + _ => __symbol_type_mismatch() + } + } + fn __pop_Variant64< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, alloc::vec::Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant62(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant64(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17351,23 +17941,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant67< + fn __pop_Variant69< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, alloc::vec::Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant67(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant69(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant70< + fn __pop_Variant72< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, alloc::vec::Vec, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant70(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant72(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17411,23 +18001,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant64< + fn __pop_Variant66< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::Alias, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant64(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant66(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant59< + fn __pop_Variant61< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::Arg, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant59(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant61(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17461,13 +18051,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant79< + fn __pop_Variant82< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::Comprehension, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant79(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant82(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17481,13 +18071,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant61< + fn __pop_Variant55< + >( + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> + ) -> (TextSize, ast::Decorator, TextSize) + { + match __symbols.pop() { + Some((__l, __Symbol::Variant55(__v), __r)) => (__l, __v, __r), + _ => __symbol_type_mismatch() + } + } + fn __pop_Variant63< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::ExceptHandler, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant61(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant63(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17511,33 +18111,33 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant66< + fn __pop_Variant68< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::Int, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant66(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant68(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant69< + fn __pop_Variant71< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::MatchCase, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant69(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant71(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant84< + fn __pop_Variant87< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::Mod, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant84(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant87(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17581,13 +18181,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant85< + fn __pop_Variant88< + >( + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> + ) -> (TextSize, ast::TypeParam, TextSize) + { + match __symbols.pop() { + Some((__l, __Symbol::Variant88(__v), __r)) => (__l, __v, __r), + _ => __symbol_type_mismatch() + } + } + fn __pop_Variant90< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, ast::UnaryOp, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant85(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant90(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17601,13 +18211,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant63< + fn __pop_Variant65< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant63(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant65(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17641,23 +18251,23 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant82< + fn __pop_Variant85< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, core::option::Option>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant82(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant85(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } - fn __pop_Variant58< + fn __pop_Variant60< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, core::option::Option>, ast::Expr)>>, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant58(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant60(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17681,6 +18291,16 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } + fn __pop_Variant89< + >( + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> + ) -> (TextSize, core::option::Option>, TextSize) + { + match __symbols.pop() { + Some((__l, __Symbol::Variant89(__v), __r)) => (__l, __v, __r), + _ => __symbol_type_mismatch() + } + } fn __pop_Variant39< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> @@ -17691,13 +18311,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant60< + fn __pop_Variant62< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, core::option::Option, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant60(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant62(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17731,13 +18351,13 @@ mod __parse__Top { _ => __symbol_type_mismatch() } } - fn __pop_Variant78< + fn __pop_Variant81< >( __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)> ) -> (TextSize, core::option::Option, TextSize) { match __symbols.pop() { - Some((__l, __Symbol::Variant78(__v), __r)) => (__l, __v, __r), + Some((__l, __Symbol::Variant81(__v), __r)) => (__l, __v, __r), _ => __symbol_type_mismatch() } } @@ -17788,11 +18408,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ","? = "," => ActionFn(340); + // ","? = "," => ActionFn(351); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action340::<>(__sym0); + let __nt = super::__action351::<>(__sym0); __symbols.push((__start, __Symbol::Variant6(__nt), __end)); (1, 0) } @@ -17803,10 +18423,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ","? = => ActionFn(341); + // ","? = => ActionFn(352); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action341::<>(&__start, &__end); + let __nt = super::__action352::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant6(__nt), __end)); (0, 0) } @@ -17817,11 +18437,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ";"? = ";" => ActionFn(364); + // ";"? = ";" => ActionFn(375); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action364::<>(__sym0); + let __nt = super::__action375::<>(__sym0); __symbols.push((__start, __Symbol::Variant6(__nt), __end)); (1, 1) } @@ -17832,10 +18452,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ";"? = => ActionFn(365); + // ";"? = => ActionFn(376); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action365::<>(&__start, &__end); + let __nt = super::__action376::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant6(__nt), __end)); (0, 1) } @@ -17846,11 +18466,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // "async"? = "async" => ActionFn(300); + // "async"? = "async" => ActionFn(311); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action300::<>(__sym0); + let __nt = super::__action311::<>(__sym0); __symbols.push((__start, __Symbol::Variant6(__nt), __end)); (1, 2) } @@ -17861,10 +18481,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // "async"? = => ActionFn(301); + // "async"? = => ActionFn(312); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action301::<>(&__start, &__end); + let __nt = super::__action312::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant6(__nt), __end)); (0, 2) } @@ -17875,14 +18495,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("(" ArgumentList ")") = "(", ArgumentList, ")" => ActionFn(256); + // ("(" ArgumentList ")") = "(", ArgumentList, ")" => ActionFn(265); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant48(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action256::<>(__sym0, __sym1, __sym2); + let __nt = super::__action265::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant7(__nt), __end)); (3, 3) } @@ -17893,14 +18513,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("(" ArgumentList ")")? = "(", ArgumentList, ")" => ActionFn(645); + // ("(" ArgumentList ")")? = "(", ArgumentList, ")" => ActionFn(658); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant48(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action645::<>(__sym0, __sym1, __sym2); + let __nt = super::__action658::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant8(__nt), __end)); (3, 4) } @@ -17911,10 +18531,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("(" ArgumentList ")")? = => ActionFn(255); + // ("(" ArgumentList ")")? = => ActionFn(264); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action255::<>(&__start, &__end); + let __nt = super::__action264::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant8(__nt), __end)); (0, 4) } @@ -17925,13 +18545,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >) = ",", KwargParameter => ActionFn(394); + // ("," >) = ",", KwargParameter => ActionFn(405); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant9(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action394::<>(__sym0, __sym1); + let __nt = super::__action405::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (2, 5) } @@ -17942,13 +18562,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)? = ",", KwargParameter => ActionFn(648); + // ("," >)? = ",", KwargParameter => ActionFn(661); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant9(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action648::<>(__sym0, __sym1); + let __nt = super::__action661::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant10(__nt), __end)); (2, 6) } @@ -17959,10 +18579,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)? = => ActionFn(449); + // ("," >)? = => ActionFn(460); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action449::<>(&__start, &__end); + let __nt = super::__action460::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant10(__nt), __end)); (0, 6) } @@ -17973,13 +18593,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >) = ",", KwargParameter => ActionFn(402); + // ("," >) = ",", KwargParameter => ActionFn(413); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant9(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action402::<>(__sym0, __sym1); + let __nt = super::__action413::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (2, 7) } @@ -17990,13 +18610,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)? = ",", KwargParameter => ActionFn(653); + // ("," >)? = ",", KwargParameter => ActionFn(666); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant9(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action653::<>(__sym0, __sym1); + let __nt = super::__action666::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant10(__nt), __end)); (2, 8) } @@ -18007,10 +18627,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)? = => ActionFn(438); + // ("," >)? = => ActionFn(449); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action438::<>(&__start, &__end); + let __nt = super::__action449::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant10(__nt), __end)); (0, 8) } @@ -18021,13 +18641,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >) = ",", ParameterDef => ActionFn(452); + // ("," >) = ",", ParameterDef => ActionFn(463); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant11(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action452::<>(__sym0, __sym1); + let __nt = super::__action463::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (2, 9) } @@ -18038,10 +18658,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)* = => ActionFn(450); + // ("," >)* = => ActionFn(461); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action450::<>(&__start, &__end); + let __nt = super::__action461::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (0, 10) } @@ -18052,11 +18672,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)* = ("," >)+ => ActionFn(451); + // ("," >)* = ("," >)+ => ActionFn(462); let __sym0 = __pop_Variant12(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action451::<>(__sym0); + let __nt = super::__action462::<>(__sym0); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (1, 10) } @@ -18067,13 +18687,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)+ = ",", ParameterDef => ActionFn(658); + // ("," >)+ = ",", ParameterDef => ActionFn(671); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant11(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action658::<>(__sym0, __sym1); + let __nt = super::__action671::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (2, 11) } @@ -18084,14 +18704,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)+ = ("," >)+, ",", ParameterDef => ActionFn(659); + // ("," >)+ = ("," >)+, ",", ParameterDef => ActionFn(672); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant11(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant12(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action659::<>(__sym0, __sym1, __sym2); + let __nt = super::__action672::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (3, 11) } @@ -18102,13 +18722,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >) = ",", ParameterDef => ActionFn(441); + // ("," >) = ",", ParameterDef => ActionFn(452); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant11(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action441::<>(__sym0, __sym1); + let __nt = super::__action452::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); (2, 12) } @@ -18119,10 +18739,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)* = => ActionFn(439); + // ("," >)* = => ActionFn(450); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action439::<>(&__start, &__end); + let __nt = super::__action450::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (0, 13) } @@ -18133,11 +18753,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)* = ("," >)+ => ActionFn(440); + // ("," >)* = ("," >)+ => ActionFn(451); let __sym0 = __pop_Variant12(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action440::<>(__sym0); + let __nt = super::__action451::<>(__sym0); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (1, 13) } @@ -18148,13 +18768,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)+ = ",", ParameterDef => ActionFn(666); + // ("," >)+ = ",", ParameterDef => ActionFn(679); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant11(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action666::<>(__sym0, __sym1); + let __nt = super::__action679::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (2, 14) } @@ -18165,14 +18785,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)+ = ("," >)+, ",", ParameterDef => ActionFn(667); + // ("," >)+ = ("," >)+, ",", ParameterDef => ActionFn(680); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant11(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant12(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action667::<>(__sym0, __sym1, __sym2); + let __nt = super::__action680::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant12(__nt), __end)); (3, 14) } @@ -18183,10 +18803,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)? = => ActionFn(397); + // ("," >)? = => ActionFn(408); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action397::<>(&__start, &__end); + let __nt = super::__action408::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant14(__nt), __end)); (0, 16) } @@ -18197,10 +18817,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)? = => ActionFn(405); + // ("," >)? = => ActionFn(416); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action405::<>(&__start, &__end); + let __nt = super::__action416::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant14(__nt), __end)); (0, 18) } @@ -18211,13 +18831,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >) = ",", Test<"all"> => ActionFn(334); + // ("," >) = ",", Test<"all"> => ActionFn(345); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action334::<>(__sym0, __sym1); + let __nt = super::__action345::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 19) } @@ -18228,13 +18848,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)? = ",", Test<"all"> => ActionFn(1026); + // ("," >)? = ",", Test<"all"> => ActionFn(1049); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1026::<>(__sym0, __sym1); + let __nt = super::__action1049::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 20) } @@ -18245,10 +18865,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)? = => ActionFn(333); + // ("," >)? = => ActionFn(344); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action333::<>(&__start, &__end); + let __nt = super::__action344::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (0, 20) } @@ -18259,13 +18879,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," ) = ",", TestOrStarNamedExpr => ActionFn(527); + // ("," ) = ",", TestOrStarNamedExpr => ActionFn(538); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action527::<>(__sym0, __sym1); + let __nt = super::__action538::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 21) } @@ -18276,10 +18896,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," )* = => ActionFn(525); + // ("," )* = => ActionFn(536); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action525::<>(&__start, &__end); + let __nt = super::__action536::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (0, 22) } @@ -18290,11 +18910,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," )* = ("," )+ => ActionFn(526); + // ("," )* = ("," )+ => ActionFn(537); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action526::<>(__sym0); + let __nt = super::__action537::<>(__sym0); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (1, 22) } @@ -18305,13 +18925,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," )+ = ",", TestOrStarNamedExpr => ActionFn(1029); + // ("," )+ = ",", TestOrStarNamedExpr => ActionFn(1052); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1029::<>(__sym0, __sym1); + let __nt = super::__action1052::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (2, 23) } @@ -18322,14 +18942,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," )+ = ("," )+, ",", TestOrStarNamedExpr => ActionFn(1030); + // ("," )+ = ("," )+, ",", TestOrStarNamedExpr => ActionFn(1053); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1030::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1053::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (3, 23) } @@ -18340,13 +18960,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >) = ",", WithItem<"all"> => ActionFn(283); + // ("," >) = ",", WithItem<"all"> => ActionFn(294); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant18(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action283::<>(__sym0, __sym1); + let __nt = super::__action294::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); (2, 24) } @@ -18357,10 +18977,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)* = => ActionFn(281); + // ("," >)* = => ActionFn(292); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action281::<>(&__start, &__end); + let __nt = super::__action292::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant19(__nt), __end)); (0, 25) } @@ -18371,11 +18991,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)* = ("," >)+ => ActionFn(282); + // ("," >)* = ("," >)+ => ActionFn(293); let __sym0 = __pop_Variant19(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action282::<>(__sym0); + let __nt = super::__action293::<>(__sym0); __symbols.push((__start, __Symbol::Variant19(__nt), __end)); (1, 25) } @@ -18386,13 +19006,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)+ = ",", WithItem<"all"> => ActionFn(1039); + // ("," >)+ = ",", WithItem<"all"> => ActionFn(1062); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant18(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1039::<>(__sym0, __sym1); + let __nt = super::__action1062::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant19(__nt), __end)); (2, 26) } @@ -18403,14 +19023,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("," >)+ = ("," >)+, ",", WithItem<"all"> => ActionFn(1040); + // ("," >)+ = ("," >)+, ",", WithItem<"all"> => ActionFn(1063); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant18(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant19(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1040::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1063::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant19(__nt), __end)); (3, 26) } @@ -18421,13 +19041,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("->" >) = "->", Test<"all"> => ActionFn(272); + // ("->" >) = "->", Test<"all"> => ActionFn(281); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action272::<>(__sym0, __sym1); + let __nt = super::__action281::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 27) } @@ -18438,13 +19058,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("->" >)? = "->", Test<"all"> => ActionFn(1045); + // ("->" >)? = "->", Test<"all"> => ActionFn(1068); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1045::<>(__sym0, __sym1); + let __nt = super::__action1068::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 28) } @@ -18455,10 +19075,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("->" >)? = => ActionFn(271); + // ("->" >)? = => ActionFn(280); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action271::<>(&__start, &__end); + let __nt = super::__action280::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (0, 28) } @@ -18469,13 +19089,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("." Identifier) = ".", Identifier => ActionFn(339); + // ("." Identifier) = ".", Identifier => ActionFn(350); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action339::<>(__sym0, __sym1); + let __nt = super::__action350::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant20(__nt), __end)); (2, 29) } @@ -18486,13 +19106,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("." Identifier)+ = ".", Identifier => ActionFn(1050); + // ("." Identifier)+ = ".", Identifier => ActionFn(1073); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1050::<>(__sym0, __sym1); + let __nt = super::__action1073::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant21(__nt), __end)); (2, 30) } @@ -18503,14 +19123,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("." Identifier)+ = ("." Identifier)+, ".", Identifier => ActionFn(1051); + // ("." Identifier)+ = ("." Identifier)+, ".", Identifier => ActionFn(1074); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant21(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1051::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1074::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant21(__nt), __end)); (3, 30) } @@ -18521,13 +19141,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (":" >) = ":", Test<"all"> => ActionFn(262); + // (":" >) = ":", Test<"all"> => ActionFn(271); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action262::<>(__sym0, __sym1); + let __nt = super::__action271::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 31) } @@ -18538,13 +19158,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (":" >)? = ":", Test<"all"> => ActionFn(1052); + // (":" >)? = ":", Test<"all"> => ActionFn(1075); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1052::<>(__sym0, __sym1); + let __nt = super::__action1075::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 32) } @@ -18555,10 +19175,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (":" >)? = => ActionFn(261); + // (":" >)? = => ActionFn(270); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action261::<>(&__start, &__end); + let __nt = super::__action270::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (0, 32) } @@ -18569,13 +19189,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (":" ) = ":", TestOrStarExpr => ActionFn(259); + // (":" ) = ":", TestOrStarExpr => ActionFn(268); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action259::<>(__sym0, __sym1); + let __nt = super::__action268::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 33) } @@ -18586,13 +19206,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (":" )? = ":", TestOrStarExpr => ActionFn(1057); + // (":" )? = ":", TestOrStarExpr => ActionFn(1082); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1057::<>(__sym0, __sym1); + let __nt = super::__action1082::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 34) } @@ -18603,10 +19223,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (":" )? = => ActionFn(258); + // (":" )? = => ActionFn(267); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action258::<>(&__start, &__end); + let __nt = super::__action267::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (0, 34) } @@ -18617,11 +19237,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("\n") = "\n" => ActionFn(371); + // ("\n") = "\n" => ActionFn(382); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action371::<>(__sym0); + let __nt = super::__action382::<>(__sym0); __symbols.push((__start, __Symbol::Variant0(__nt), __end)); (1, 35) } @@ -18632,10 +19252,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("\n")* = => ActionFn(369); + // ("\n")* = => ActionFn(380); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action369::<>(&__start, &__end); + let __nt = super::__action380::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant22(__nt), __end)); (0, 36) } @@ -18646,11 +19266,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("\n")* = ("\n")+ => ActionFn(370); + // ("\n")* = ("\n")+ => ActionFn(381); let __sym0 = __pop_Variant22(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action370::<>(__sym0); + let __nt = super::__action381::<>(__sym0); __symbols.push((__start, __Symbol::Variant22(__nt), __end)); (1, 36) } @@ -18661,11 +19281,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("\n")+ = "\n" => ActionFn(1060); + // ("\n")+ = "\n" => ActionFn(1085); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1060::<>(__sym0); + let __nt = super::__action1085::<>(__sym0); __symbols.push((__start, __Symbol::Variant22(__nt), __end)); (1, 37) } @@ -18676,13 +19296,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("\n")+ = ("\n")+, "\n" => ActionFn(1061); + // ("\n")+ = ("\n")+, "\n" => ActionFn(1086); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant22(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1061::<>(__sym0, __sym1); + let __nt = super::__action1086::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant22(__nt), __end)); (2, 37) } @@ -18693,13 +19313,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("as" ) = "as", Identifier => ActionFn(382); + // ("as" ) = "as", Identifier => ActionFn(393); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action382::<>(__sym0, __sym1); + let __nt = super::__action393::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant23(__nt), __end)); (2, 38) } @@ -18710,13 +19330,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("as" )? = "as", Identifier => ActionFn(1064); + // ("as" )? = "as", Identifier => ActionFn(1089); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1064::<>(__sym0, __sym1); + let __nt = super::__action1089::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant24(__nt), __end)); (2, 39) } @@ -18727,10 +19347,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("as" )? = => ActionFn(381); + // ("as" )? = => ActionFn(392); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action381::<>(&__start, &__end); + let __nt = super::__action392::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant24(__nt), __end)); (0, 39) } @@ -18741,14 +19361,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("else" ":" ) = "else", ":", Suite => ActionFn(304); + // ("else" ":" ) = "else", ":", Suite => ActionFn(315); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action304::<>(__sym0, __sym1, __sym2); + let __nt = super::__action315::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); (3, 40) } @@ -18759,14 +19379,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("else" ":" )? = "else", ":", Suite => ActionFn(1069); + // ("else" ":" )? = "else", ":", Suite => ActionFn(1094); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1069::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1094::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant26(__nt), __end)); (3, 41) } @@ -18777,10 +19397,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("else" ":" )? = => ActionFn(303); + // ("else" ":" )? = => ActionFn(314); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action303::<>(&__start, &__end); + let __nt = super::__action314::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant26(__nt), __end)); (0, 41) } @@ -18791,14 +19411,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("finally" ":" ) = "finally", ":", Suite => ActionFn(297); + // ("finally" ":" ) = "finally", ":", Suite => ActionFn(308); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action297::<>(__sym0, __sym1, __sym2); + let __nt = super::__action308::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); (3, 42) } @@ -18809,14 +19429,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("finally" ":" )? = "finally", ":", Suite => ActionFn(1082); + // ("finally" ":" )? = "finally", ":", Suite => ActionFn(1107); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1082::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1107::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant26(__nt), __end)); (3, 43) } @@ -18827,10 +19447,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("finally" ":" )? = => ActionFn(296); + // ("finally" ":" )? = => ActionFn(307); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action296::<>(&__start, &__end); + let __nt = super::__action307::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant26(__nt), __end)); (0, 43) } @@ -18841,13 +19461,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("from" >) = "from", Test<"all"> => ActionFn(354); + // ("from" >) = "from", Test<"all"> => ActionFn(365); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action354::<>(__sym0, __sym1); + let __nt = super::__action365::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 44) } @@ -18858,13 +19478,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("from" >)? = "from", Test<"all"> => ActionFn(1092); + // ("from" >)? = "from", Test<"all"> => ActionFn(1117); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1092::<>(__sym0, __sym1); + let __nt = super::__action1117::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (2, 45) } @@ -18875,10 +19495,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ("from" >)? = => ActionFn(353); + // ("from" >)? = => ActionFn(364); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action353::<>(&__start, &__end); + let __nt = super::__action364::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (0, 45) } @@ -18889,7 +19509,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (<@L> "elif" ":" ) = "elif", NamedExpressionTest, ":", Suite => ActionFn(682); + // (<@L> "elif" ":" ) = "elif", NamedExpressionTest, ":", Suite => ActionFn(695); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -18897,7 +19517,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action682::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action695::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant27(__nt), __end)); (4, 46) } @@ -18908,10 +19528,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (<@L> "elif" ":" )* = => ActionFn(305); + // (<@L> "elif" ":" )* = => ActionFn(316); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action305::<>(&__start, &__end); + let __nt = super::__action316::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant28(__nt), __end)); (0, 47) } @@ -18922,11 +19542,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (<@L> "elif" ":" )* = (<@L> "elif" ":" )+ => ActionFn(306); + // (<@L> "elif" ":" )* = (<@L> "elif" ":" )+ => ActionFn(317); let __sym0 = __pop_Variant28(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action306::<>(__sym0); + let __nt = super::__action317::<>(__sym0); __symbols.push((__start, __Symbol::Variant28(__nt), __end)); (1, 47) } @@ -18937,7 +19557,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (<@L> "elif" ":" )+ = "elif", NamedExpressionTest, ":", Suite => ActionFn(1095); + // (<@L> "elif" ":" )+ = "elif", NamedExpressionTest, ":", Suite => ActionFn(1120); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -18945,7 +19565,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1095::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1120::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant28(__nt), __end)); (4, 48) } @@ -18956,7 +19576,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (<@L> "elif" ":" )+ = (<@L> "elif" ":" )+, "elif", NamedExpressionTest, ":", Suite => ActionFn(1096); + // (<@L> "elif" ":" )+ = (<@L> "elif" ":" )+, "elif", NamedExpressionTest, ":", Suite => ActionFn(1121); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -18965,7 +19585,7 @@ mod __parse__Top { let __sym0 = __pop_Variant28(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1096::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1121::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant28(__nt), __end)); (5, 48) } @@ -18976,13 +19596,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "or") = AndTest<"all">, "or" => ActionFn(416); + // (> "or") = AndTest<"all">, "or" => ActionFn(427); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action416::<>(__sym0, __sym1); + let __nt = super::__action427::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 49) } @@ -18993,13 +19613,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "or")+ = AndTest<"all">, "or" => ActionFn(1101); + // (> "or")+ = AndTest<"all">, "or" => ActionFn(1126); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1101::<>(__sym0, __sym1); + let __nt = super::__action1126::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (2, 50) } @@ -19010,14 +19630,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "or")+ = (> "or")+, AndTest<"all">, "or" => ActionFn(1102); + // (> "or")+ = (> "or")+, AndTest<"all">, "or" => ActionFn(1127); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1102::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1127::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (3, 50) } @@ -19028,13 +19648,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",") = FunctionArgument, "," => ActionFn(425); + // ( ",") = FunctionArgument, "," => ActionFn(436); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action425::<>(__sym0, __sym1); + let __nt = super::__action436::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 51) } @@ -19045,10 +19665,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")* = => ActionFn(423); + // ( ",")* = => ActionFn(434); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action423::<>(&__start, &__end); + let __nt = super::__action434::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant30(__nt), __end)); (0, 52) } @@ -19059,11 +19679,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")* = ( ",")+ => ActionFn(424); + // ( ",")* = ( ",")+ => ActionFn(435); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action424::<>(__sym0); + let __nt = super::__action435::<>(__sym0); __symbols.push((__start, __Symbol::Variant30(__nt), __end)); (1, 52) } @@ -19074,13 +19694,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")+ = FunctionArgument, "," => ActionFn(1103); + // ( ",")+ = FunctionArgument, "," => ActionFn(1128); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1103::<>(__sym0, __sym1); + let __nt = super::__action1128::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant30(__nt), __end)); (2, 53) } @@ -19091,14 +19711,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")+ = ( ",")+, FunctionArgument, "," => ActionFn(1104); + // ( ",")+ = ( ",")+, FunctionArgument, "," => ActionFn(1129); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant29(__symbols); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1104::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1129::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant30(__nt), __end)); (3, 53) } @@ -19109,13 +19729,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "and") = NotTest<"all">, "and" => ActionFn(430); + // (> "and") = NotTest<"all">, "and" => ActionFn(441); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action430::<>(__sym0, __sym1); + let __nt = super::__action441::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 54) } @@ -19126,13 +19746,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "and")+ = NotTest<"all">, "and" => ActionFn(1107); + // (> "and")+ = NotTest<"all">, "and" => ActionFn(1132); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1107::<>(__sym0, __sym1); + let __nt = super::__action1132::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (2, 55) } @@ -19143,14 +19763,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "and")+ = (> "and")+, NotTest<"all">, "and" => ActionFn(1108); + // (> "and")+ = (> "and")+, NotTest<"all">, "and" => ActionFn(1133); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1108::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1133::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (3, 55) } @@ -19161,13 +19781,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (>> ",") = OneOrMore>, "," => ActionFn(530); + // (>> ",") = OneOrMore>, "," => ActionFn(541); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action530::<>(__sym0, __sym1); + let __nt = super::__action541::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (2, 56) } @@ -19178,13 +19798,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (>> ",")? = OneOrMore>, "," => ActionFn(1109); + // (>> ",")? = OneOrMore>, "," => ActionFn(1134); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1109::<>(__sym0, __sym1); + let __nt = super::__action1134::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant32(__nt), __end)); (2, 57) } @@ -19195,10 +19815,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (>> ",")? = => ActionFn(529); + // (>> ",")? = => ActionFn(540); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action529::<>(&__start, &__end); + let __nt = super::__action540::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant32(__nt), __end)); (0, 57) } @@ -19209,13 +19829,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",") = Pattern, "," => ActionFn(320); + // ( ",") = Pattern, "," => ActionFn(331); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action320::<>(__sym0, __sym1); + let __nt = super::__action331::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 58) } @@ -19226,10 +19846,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")* = => ActionFn(385); + // ( ",")* = => ActionFn(396); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action385::<>(&__start, &__end); + let __nt = super::__action396::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant34(__nt), __end)); (0, 59) } @@ -19240,11 +19860,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")* = ( ",")+ => ActionFn(386); + // ( ",")* = ( ",")+ => ActionFn(397); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action386::<>(__sym0); + let __nt = super::__action397::<>(__sym0); __symbols.push((__start, __Symbol::Variant34(__nt), __end)); (1, 59) } @@ -19255,13 +19875,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")+ = Pattern, "," => ActionFn(1126); + // ( ",")+ = Pattern, "," => ActionFn(1151); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1126::<>(__sym0, __sym1); + let __nt = super::__action1151::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant34(__nt), __end)); (2, 60) } @@ -19272,14 +19892,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")+ = ( ",")+, Pattern, "," => ActionFn(1127); + // ( ",")+ = ( ",")+, Pattern, "," => ActionFn(1152); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1127::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1152::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant34(__nt), __end)); (3, 60) } @@ -19290,13 +19910,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ";") = SmallStatement, ";" => ActionFn(368); + // ( ";") = SmallStatement, ";" => ActionFn(379); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action368::<>(__sym0, __sym1); + let __nt = super::__action379::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 61) } @@ -19307,10 +19927,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ";")* = => ActionFn(366); + // ( ";")* = => ActionFn(377); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action366::<>(&__start, &__end); + let __nt = super::__action377::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant36(__nt), __end)); (0, 62) } @@ -19321,11 +19941,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ";")* = ( ";")+ => ActionFn(367); + // ( ";")* = ( ";")+ => ActionFn(378); let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action367::<>(__sym0); + let __nt = super::__action378::<>(__sym0); __symbols.push((__start, __Symbol::Variant36(__nt), __end)); (1, 62) } @@ -19336,13 +19956,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ";")+ = SmallStatement, ";" => ActionFn(1130); + // ( ";")+ = SmallStatement, ";" => ActionFn(1155); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1130::<>(__sym0, __sym1); + let __nt = super::__action1155::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant36(__nt), __end)); (2, 63) } @@ -19353,14 +19973,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ";")+ = ( ";")+, SmallStatement, ";" => ActionFn(1131); + // ( ";")+ = ( ";")+, SmallStatement, ";" => ActionFn(1156); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1131::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1156::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant36(__nt), __end)); (3, 63) } @@ -19371,14 +19991,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (> "as" ) = Test<"all">, "as", Identifier => ActionFn(292); + // (> "as" ) = Test<"all">, "as", Identifier => ActionFn(303); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action292::<>(__sym0, __sym1, __sym2); + let __nt = super::__action303::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant37(__nt), __end)); (3, 64) } @@ -19389,13 +20009,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",") = OneOrMore>, "," => ActionFn(1432); + // ( ",") = OneOrMore>, "," => ActionFn(1471); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1432::<>(__sym0, __sym1); + let __nt = super::__action1471::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); (2, 65) } @@ -19406,13 +20026,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")? = OneOrMore>, "," => ActionFn(1435); + // ( ",")? = OneOrMore>, "," => ActionFn(1474); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1435::<>(__sym0, __sym1); + let __nt = super::__action1474::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant39(__nt), __end)); (2, 66) } @@ -19423,10 +20043,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ( ",")? = => ActionFn(288); + // ( ",")? = => ActionFn(299); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action288::<>(&__start, &__end); + let __nt = super::__action299::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant39(__nt), __end)); (0, 66) } @@ -19437,11 +20057,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (@L string @R) = string => ActionFn(1150); + // (@L string @R) = string => ActionFn(1175); let __sym0 = __pop_Variant5(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1150::<>(__sym0); + let __nt = super::__action1175::<>(__sym0); __symbols.push((__start, __Symbol::Variant40(__nt), __end)); (1, 67) } @@ -19452,11 +20072,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (@L string @R)+ = string => ActionFn(1444); + // (@L string @R)+ = string => ActionFn(1483); let __sym0 = __pop_Variant5(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1444::<>(__sym0); + let __nt = super::__action1483::<>(__sym0); __symbols.push((__start, __Symbol::Variant41(__nt), __end)); (1, 68) } @@ -19467,13 +20087,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (@L string @R)+ = (@L string @R)+, string => ActionFn(1445); + // (@L string @R)+ = (@L string @R)+, string => ActionFn(1484); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant5(__symbols); let __sym0 = __pop_Variant41(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1445::<>(__sym0, __sym1); + let __nt = super::__action1484::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant41(__nt), __end)); (2, 68) } @@ -19484,13 +20104,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (CompOp Expression<"all">) = CompOp, Expression<"all"> => ActionFn(473); + // (CompOp Expression<"all">) = CompOp, Expression<"all"> => ActionFn(484); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant53(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action473::<>(__sym0, __sym1); + let __nt = super::__action484::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant42(__nt), __end)); (2, 69) } @@ -19501,13 +20121,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (CompOp Expression<"all">)+ = CompOp, Expression<"all"> => ActionFn(1446); + // (CompOp Expression<"all">)+ = CompOp, Expression<"all"> => ActionFn(1485); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant53(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1446::<>(__sym0, __sym1); + let __nt = super::__action1485::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant43(__nt), __end)); (2, 70) } @@ -19518,14 +20138,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (CompOp Expression<"all">)+ = (CompOp Expression<"all">)+, CompOp, Expression<"all"> => ActionFn(1447); + // (CompOp Expression<"all">)+ = (CompOp Expression<"all">)+, CompOp, Expression<"all"> => ActionFn(1486); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant53(__symbols); let __sym0 = __pop_Variant43(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1447::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1486::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant43(__nt), __end)); (3, 70) } @@ -19536,11 +20156,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (Guard) = Guard => ActionFn(327); + // (Guard) = Guard => ActionFn(338); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action327::<>(__sym0); + let __nt = super::__action338::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 71) } @@ -19551,11 +20171,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (Guard)? = Guard => ActionFn(1448); + // (Guard)? = Guard => ActionFn(1487); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1448::<>(__sym0); + let __nt = super::__action1487::<>(__sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (1, 72) } @@ -19566,10 +20186,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (Guard)? = => ActionFn(326); + // (Guard)? = => ActionFn(337); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action326::<>(&__start, &__end); + let __nt = super::__action337::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (0, 72) } @@ -19580,11 +20200,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (ParameterList) = ParameterList => ActionFn(265); + // (ParameterList) = ParameterList => ActionFn(274); let __sym0 = __pop_Variant44(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action265::<>(__sym0); + let __nt = super::__action274::<>(__sym0); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); (1, 73) } @@ -19595,11 +20215,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (ParameterList)? = ParameterList => ActionFn(1451); + // (ParameterList)? = ParameterList => ActionFn(1490); let __sym0 = __pop_Variant44(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1451::<>(__sym0); + let __nt = super::__action1490::<>(__sym0); __symbols.push((__start, __Symbol::Variant45(__nt), __end)); (1, 74) } @@ -19610,10 +20230,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // (ParameterList)? = => ActionFn(264); + // (ParameterList)? = => ActionFn(273); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action264::<>(&__start, &__end); + let __nt = super::__action273::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant45(__nt), __end)); (0, 74) } @@ -19624,10 +20244,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // @L = => ActionFn(373); + // @L = => ActionFn(384); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action373::<>(&__start, &__end); + let __nt = super::__action384::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant46(__nt), __end)); (0, 75) } @@ -19638,10 +20258,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // @R = => ActionFn(372); + // @R = => ActionFn(383); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action372::<>(&__start, &__end); + let __nt = super::__action383::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant46(__nt), __end)); (0, 76) } @@ -19652,11 +20272,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AddOp = "+" => ActionFn(184); + // AddOp = "+" => ActionFn(191); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action184::<>(__sym0); + let __nt = super::__action191::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 77) } @@ -19667,11 +20287,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AddOp = "-" => ActionFn(185); + // AddOp = "-" => ActionFn(192); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action185::<>(__sym0); + let __nt = super::__action192::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 77) } @@ -19682,14 +20302,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AddOpExpr = ConstantExpr, AddOp, ConstantAtom => ActionFn(1151); + // AddOpExpr = ConstantExpr, AddOp, ConstantAtom => ActionFn(1176); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1151::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1176::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 78) } @@ -19700,14 +20320,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndExpression<"all"> = AndExpression<"all">, "&", ShiftExpression<"all"> => ActionFn(1152); + // AndExpression<"all"> = AndExpression<"all">, "&", ShiftExpression<"all"> => ActionFn(1177); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1152::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1177::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 79) } @@ -19718,11 +20338,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndExpression<"all"> = ShiftExpression<"all"> => ActionFn(434); + // AndExpression<"all"> = ShiftExpression<"all"> => ActionFn(445); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action434::<>(__sym0); + let __nt = super::__action445::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 79) } @@ -19733,14 +20353,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndExpression<"no-withitems"> = AndExpression<"all">, "&", ShiftExpression<"all"> => ActionFn(1153); + // AndExpression<"no-withitems"> = AndExpression<"all">, "&", ShiftExpression<"all"> => ActionFn(1178); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1153::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1178::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 80) } @@ -19751,11 +20371,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndExpression<"no-withitems"> = ShiftExpression<"no-withitems"> => ActionFn(493); + // AndExpression<"no-withitems"> = ShiftExpression<"no-withitems"> => ActionFn(504); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action493::<>(__sym0); + let __nt = super::__action504::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 80) } @@ -19766,13 +20386,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndTest<"all"> = (> "and")+, NotTest<"all"> => ActionFn(1154); + // AndTest<"all"> = (> "and")+, NotTest<"all"> => ActionFn(1179); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1154::<>(__sym0, __sym1); + let __nt = super::__action1179::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 81) } @@ -19783,11 +20403,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndTest<"all"> = NotTest<"all"> => ActionFn(418); + // AndTest<"all"> = NotTest<"all"> => ActionFn(429); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action418::<>(__sym0); + let __nt = super::__action429::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 81) } @@ -19798,13 +20418,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndTest<"no-withitems"> = (> "and")+, NotTest<"all"> => ActionFn(1155); + // AndTest<"no-withitems"> = (> "and")+, NotTest<"all"> => ActionFn(1180); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1155::<>(__sym0, __sym1); + let __nt = super::__action1180::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 82) } @@ -19815,11 +20435,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AndTest<"no-withitems"> = NotTest<"no-withitems"> => ActionFn(462); + // AndTest<"no-withitems"> = NotTest<"no-withitems"> => ActionFn(473); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action462::<>(__sym0); + let __nt = super::__action473::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 82) } @@ -19830,14 +20450,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ArithmeticExpression<"all"> = ArithmeticExpression<"all">, AddOp, Term<"all"> => ActionFn(1156); + // ArithmeticExpression<"all"> = ArithmeticExpression<"all">, AddOp, Term<"all"> => ActionFn(1181); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1156::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1181::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 84) } @@ -19848,11 +20468,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ArithmeticExpression<"all"> = Term<"all"> => ActionFn(475); + // ArithmeticExpression<"all"> = Term<"all"> => ActionFn(486); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action475::<>(__sym0); + let __nt = super::__action486::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 84) } @@ -19863,14 +20483,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ArithmeticExpression<"no-withitems"> = ArithmeticExpression<"all">, AddOp, Term<"all"> => ActionFn(1157); + // ArithmeticExpression<"no-withitems"> = ArithmeticExpression<"all">, AddOp, Term<"all"> => ActionFn(1182); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1157::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1182::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 85) } @@ -19881,11 +20501,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ArithmeticExpression<"no-withitems"> = Term<"no-withitems"> => ActionFn(520); + // ArithmeticExpression<"no-withitems"> = Term<"no-withitems"> => ActionFn(531); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action520::<>(__sym0); + let __nt = super::__action531::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 85) } @@ -19896,7 +20516,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssertStatement = "assert", Test<"all">, ",", Test<"all"> => ActionFn(1159); + // AssertStatement = "assert", Test<"all">, ",", Test<"all"> => ActionFn(1184); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -19904,7 +20524,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1159::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1184::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 87) } @@ -19915,13 +20535,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssertStatement = "assert", Test<"all"> => ActionFn(1160); + // AssertStatement = "assert", Test<"all"> => ActionFn(1185); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1160::<>(__sym0, __sym1); + let __nt = super::__action1185::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 87) } @@ -19932,13 +20552,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssignSuffix = "=", TestListOrYieldExpr => ActionFn(27); + // AssignSuffix = "=", TestListOrYieldExpr => ActionFn(28); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action27::<>(__sym0, __sym1); + let __nt = super::__action28::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 88) } @@ -19949,10 +20569,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssignSuffix* = => ActionFn(362); + // AssignSuffix* = => ActionFn(373); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action362::<>(&__start, &__end); + let __nt = super::__action373::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (0, 89) } @@ -19963,11 +20583,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssignSuffix* = AssignSuffix+ => ActionFn(363); + // AssignSuffix* = AssignSuffix+ => ActionFn(374); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action363::<>(__sym0); + let __nt = super::__action374::<>(__sym0); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (1, 89) } @@ -19978,11 +20598,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssignSuffix+ = AssignSuffix => ActionFn(378); + // AssignSuffix+ = AssignSuffix => ActionFn(389); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action378::<>(__sym0); + let __nt = super::__action389::<>(__sym0); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (1, 90) } @@ -19993,13 +20613,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssignSuffix+ = AssignSuffix+, AssignSuffix => ActionFn(379); + // AssignSuffix+ = AssignSuffix+, AssignSuffix => ActionFn(390); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action379::<>(__sym0, __sym1); + let __nt = super::__action390::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (2, 90) } @@ -20010,11 +20630,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssignSuffix? = AssignSuffix => ActionFn(357); + // AssignSuffix? = AssignSuffix => ActionFn(368); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action357::<>(__sym0); + let __nt = super::__action368::<>(__sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (1, 91) } @@ -20025,10 +20645,10 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AssignSuffix? = => ActionFn(358); + // AssignSuffix? = => ActionFn(369); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action358::<>(&__start, &__end); + let __nt = super::__action369::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); (0, 91) } @@ -20039,11 +20659,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = Constant => ActionFn(1161); + // Atom<"all"> = Constant => ActionFn(1186); let __sym0 = __pop_Variant54(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1161::<>(__sym0); + let __nt = super::__action1186::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20054,11 +20674,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = Identifier => ActionFn(1162); + // Atom<"all"> = Identifier => ActionFn(1187); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1162::<>(__sym0); + let __nt = super::__action1187::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20069,14 +20689,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "[", ListLiteralValues, "]" => ActionFn(1508); + // Atom<"all"> = "[", ListLiteralValues, "]" => ActionFn(1547); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1508::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1547::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20087,13 +20707,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "[", "]" => ActionFn(1509); + // Atom<"all"> = "[", "]" => ActionFn(1548); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1509::<>(__sym0, __sym1); + let __nt = super::__action1548::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 92) } @@ -20104,7 +20724,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "[", TestOrStarNamedExpr, CompFor, "]" => ActionFn(1164); + // Atom<"all"> = "[", TestOrStarNamedExpr, CompFor, "]" => ActionFn(1189); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20112,7 +20732,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1164::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1189::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 92) } @@ -20123,7 +20743,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "(", OneOrMore>, ",", ")" => ActionFn(1165); + // Atom<"all"> = "(", OneOrMore>, ",", ")" => ActionFn(1190); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -20131,7 +20751,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1165::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1190::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 92) } @@ -20142,14 +20762,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "(", OneOrMore>, ")" => ActionFn(1166); + // Atom<"all"> = "(", OneOrMore>, ")" => ActionFn(1191); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1166::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1191::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20160,13 +20780,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "(", ")" => ActionFn(1175); + // Atom<"all"> = "(", ")" => ActionFn(1200); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1175::<>(__sym0, __sym1); + let __nt = super::__action1200::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 92) } @@ -20177,14 +20797,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "(", YieldExpr, ")" => ActionFn(508); + // Atom<"all"> = "(", YieldExpr, ")" => ActionFn(519); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action508::<>(__sym0, __sym1, __sym2); + let __nt = super::__action519::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20195,7 +20815,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "(", NamedExpressionTest, CompFor, ")" => ActionFn(1176); + // Atom<"all"> = "(", NamedExpressionTest, CompFor, ")" => ActionFn(1201); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20203,7 +20823,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1176::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1201::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 92) } @@ -20214,14 +20834,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", DictLiteralValues, "}" => ActionFn(1492); + // Atom<"all"> = "{", DictLiteralValues, "}" => ActionFn(1531); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant57(__symbols); + let __sym1 = __pop_Variant59(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1492::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1531::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20232,13 +20852,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", "}" => ActionFn(1493); + // Atom<"all"> = "{", "}" => ActionFn(1532); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1493::<>(__sym0, __sym1); + let __nt = super::__action1532::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 92) } @@ -20249,15 +20869,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", DictEntry, CompFor, "}" => ActionFn(1179); + // Atom<"all"> = "{", DictEntry, CompFor, "}" => ActionFn(1204); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); - let __sym1 = __pop_Variant56(__symbols); + let __sym1 = __pop_Variant58(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1179::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1204::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 92) } @@ -20268,14 +20888,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", SetLiteralValues, "}" => ActionFn(1180); + // Atom<"all"> = "{", SetLiteralValues, "}" => ActionFn(1205); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1180::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1205::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 92) } @@ -20286,7 +20906,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "{", NamedExpressionTest, CompFor, "}" => ActionFn(1181); + // Atom<"all"> = "{", NamedExpressionTest, CompFor, "}" => ActionFn(1206); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20294,7 +20914,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1181::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1206::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 92) } @@ -20305,11 +20925,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "True" => ActionFn(1182); + // Atom<"all"> = "True" => ActionFn(1207); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1182::<>(__sym0); + let __nt = super::__action1207::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20320,11 +20940,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "False" => ActionFn(1183); + // Atom<"all"> = "False" => ActionFn(1208); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1183::<>(__sym0); + let __nt = super::__action1208::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20335,11 +20955,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "None" => ActionFn(1184); + // Atom<"all"> = "None" => ActionFn(1209); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1184::<>(__sym0); + let __nt = super::__action1209::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20350,11 +20970,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"all"> = "..." => ActionFn(1185); + // Atom<"all"> = "..." => ActionFn(1210); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1185::<>(__sym0); + let __nt = super::__action1210::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 92) } @@ -20365,11 +20985,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = Constant => ActionFn(1186); + // Atom<"no-withitems"> = Constant => ActionFn(1211); let __sym0 = __pop_Variant54(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1186::<>(__sym0); + let __nt = super::__action1211::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20380,11 +21000,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = Identifier => ActionFn(1187); + // Atom<"no-withitems"> = Identifier => ActionFn(1212); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1187::<>(__sym0); + let __nt = super::__action1212::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20395,14 +21015,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "[", ListLiteralValues, "]" => ActionFn(1510); + // Atom<"no-withitems"> = "[", ListLiteralValues, "]" => ActionFn(1549); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1510::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1549::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20413,13 +21033,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "[", "]" => ActionFn(1511); + // Atom<"no-withitems"> = "[", "]" => ActionFn(1550); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1511::<>(__sym0, __sym1); + let __nt = super::__action1550::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 93) } @@ -20430,7 +21050,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "[", TestOrStarNamedExpr, CompFor, "]" => ActionFn(1189); + // Atom<"no-withitems"> = "[", TestOrStarNamedExpr, CompFor, "]" => ActionFn(1214); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20438,7 +21058,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1189::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1214::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 93) } @@ -20449,13 +21069,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "(", ")" => ActionFn(1198); + // Atom<"no-withitems"> = "(", ")" => ActionFn(1223); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1198::<>(__sym0, __sym1); + let __nt = super::__action1223::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 93) } @@ -20466,14 +21086,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "(", YieldExpr, ")" => ActionFn(552); + // Atom<"no-withitems"> = "(", YieldExpr, ")" => ActionFn(563); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action552::<>(__sym0, __sym1, __sym2); + let __nt = super::__action563::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20484,7 +21104,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "(", NamedExpressionTest, CompFor, ")" => ActionFn(1199); + // Atom<"no-withitems"> = "(", NamedExpressionTest, CompFor, ")" => ActionFn(1224); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20492,7 +21112,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1199::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1224::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 93) } @@ -20503,14 +21123,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", DictLiteralValues, "}" => ActionFn(1494); + // Atom<"no-withitems"> = "{", DictLiteralValues, "}" => ActionFn(1533); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant57(__symbols); + let __sym1 = __pop_Variant59(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1494::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1533::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20521,13 +21141,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", "}" => ActionFn(1495); + // Atom<"no-withitems"> = "{", "}" => ActionFn(1534); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1495::<>(__sym0, __sym1); + let __nt = super::__action1534::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 93) } @@ -20538,15 +21158,15 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", DictEntry, CompFor, "}" => ActionFn(1202); + // Atom<"no-withitems"> = "{", DictEntry, CompFor, "}" => ActionFn(1227); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); - let __sym1 = __pop_Variant56(__symbols); + let __sym1 = __pop_Variant58(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1202::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1227::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 93) } @@ -20557,14 +21177,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", SetLiteralValues, "}" => ActionFn(1203); + // Atom<"no-withitems"> = "{", SetLiteralValues, "}" => ActionFn(1228); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1203::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1228::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 93) } @@ -20575,7 +21195,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "{", NamedExpressionTest, CompFor, "}" => ActionFn(1204); + // Atom<"no-withitems"> = "{", NamedExpressionTest, CompFor, "}" => ActionFn(1229); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant51(__symbols); @@ -20583,7 +21203,7 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1204::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1229::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 93) } @@ -20594,11 +21214,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "True" => ActionFn(1205); + // Atom<"no-withitems"> = "True" => ActionFn(1230); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1205::<>(__sym0); + let __nt = super::__action1230::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20609,11 +21229,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "False" => ActionFn(1206); + // Atom<"no-withitems"> = "False" => ActionFn(1231); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1206::<>(__sym0); + let __nt = super::__action1231::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20624,11 +21244,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "None" => ActionFn(1207); + // Atom<"no-withitems"> = "None" => ActionFn(1232); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1207::<>(__sym0); + let __nt = super::__action1232::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20639,11 +21259,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Atom<"no-withitems"> = "..." => ActionFn(1208); + // Atom<"no-withitems"> = "..." => ActionFn(1233); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1208::<>(__sym0); + let __nt = super::__action1233::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 93) } @@ -20654,11 +21274,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"all"> = Atom<"all"> => ActionFn(496); + // AtomExpr2<"all"> = Atom<"all"> => ActionFn(507); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action496::<>(__sym0); + let __nt = super::__action507::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 94) } @@ -20669,7 +21289,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"all"> = AtomExpr2<"all">, "(", ArgumentList, ")" => ActionFn(1209); + // AtomExpr2<"all"> = AtomExpr2<"all">, "(", ArgumentList, ")" => ActionFn(1234); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant48(__symbols); @@ -20677,7 +21297,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1209::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1234::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 94) } @@ -20688,7 +21308,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"all"> = AtomExpr2<"all">, "[", SubscriptList, "]" => ActionFn(1210); + // AtomExpr2<"all"> = AtomExpr2<"all">, "[", SubscriptList, "]" => ActionFn(1235); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -20696,7 +21316,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1210::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1235::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 94) } @@ -20707,14 +21327,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"all"> = AtomExpr2<"all">, ".", Identifier => ActionFn(1211); + // AtomExpr2<"all"> = AtomExpr2<"all">, ".", Identifier => ActionFn(1236); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1211::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1236::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 94) } @@ -20725,11 +21345,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"no-withitems"> = Atom<"no-withitems"> => ActionFn(541); + // AtomExpr2<"no-withitems"> = Atom<"no-withitems"> => ActionFn(552); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action541::<>(__sym0); + let __nt = super::__action552::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 95) } @@ -20740,7 +21360,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, "(", ArgumentList, ")" => ActionFn(1212); + // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, "(", ArgumentList, ")" => ActionFn(1237); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant48(__symbols); @@ -20748,7 +21368,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1212::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1237::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 95) } @@ -20759,7 +21379,7 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, "[", SubscriptList, "]" => ActionFn(1213); + // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, "[", SubscriptList, "]" => ActionFn(1238); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -20767,7 +21387,7 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1213::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1238::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (4, 95) } @@ -20778,14 +21398,14 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, ".", Identifier => ActionFn(1214); + // AtomExpr2<"no-withitems"> = AtomExpr2<"all">, ".", Identifier => ActionFn(1239); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1214::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1239::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 95) } @@ -20796,13 +21416,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr<"all"> = "await", AtomExpr2<"all"> => ActionFn(1215); + // AtomExpr<"all"> = "await", AtomExpr2<"all"> => ActionFn(1240); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1215::<>(__sym0, __sym1); + let __nt = super::__action1240::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 96) } @@ -20813,11 +21433,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr<"all"> = AtomExpr2<"all"> => ActionFn(491); + // AtomExpr<"all"> = AtomExpr2<"all"> => ActionFn(502); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action491::<>(__sym0); + let __nt = super::__action502::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 96) } @@ -20828,13 +21448,13 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr<"no-withitems"> = "await", AtomExpr2<"all"> => ActionFn(1216); + // AtomExpr<"no-withitems"> = "await", AtomExpr2<"all"> => ActionFn(1241); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1216::<>(__sym0, __sym1); + let __nt = super::__action1241::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 97) } @@ -20845,11 +21465,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AtomExpr<"no-withitems"> = AtomExpr2<"no-withitems"> => ActionFn(540); + // AtomExpr<"no-withitems"> = AtomExpr2<"no-withitems"> => ActionFn(551); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action540::<>(__sym0); + let __nt = super::__action551::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 97) } @@ -20860,11 +21480,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "+=" => ActionFn(37); + // AugAssign = "+=" => ActionFn(38); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action37::<>(__sym0); + let __nt = super::__action38::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -20875,11 +21495,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "-=" => ActionFn(38); + // AugAssign = "-=" => ActionFn(39); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action38::<>(__sym0); + let __nt = super::__action39::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -20890,11 +21510,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "*=" => ActionFn(39); + // AugAssign = "*=" => ActionFn(40); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action39::<>(__sym0); + let __nt = super::__action40::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -20905,11 +21525,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "@=" => ActionFn(40); + // AugAssign = "@=" => ActionFn(41); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action40::<>(__sym0); + let __nt = super::__action41::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -20920,11 +21540,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "/=" => ActionFn(41); + // AugAssign = "/=" => ActionFn(42); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action41::<>(__sym0); + let __nt = super::__action42::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -20935,11 +21555,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "%=" => ActionFn(42); + // AugAssign = "%=" => ActionFn(43); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action42::<>(__sym0); + let __nt = super::__action43::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -20950,11 +21570,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "&=" => ActionFn(43); + // AugAssign = "&=" => ActionFn(44); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action43::<>(__sym0); + let __nt = super::__action44::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -20965,11 +21585,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "|=" => ActionFn(44); + // AugAssign = "|=" => ActionFn(45); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action44::<>(__sym0); + let __nt = super::__action45::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -20980,11 +21600,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "^=" => ActionFn(45); + // AugAssign = "^=" => ActionFn(46); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action45::<>(__sym0); + let __nt = super::__action46::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -20995,11 +21615,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "<<=" => ActionFn(46); + // AugAssign = "<<=" => ActionFn(47); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action46::<>(__sym0); + let __nt = super::__action47::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -21010,11 +21630,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = ">>=" => ActionFn(47); + // AugAssign = ">>=" => ActionFn(48); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action47::<>(__sym0); + let __nt = super::__action48::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -21025,11 +21645,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "**=" => ActionFn(48); + // AugAssign = "**=" => ActionFn(49); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action48::<>(__sym0); + let __nt = super::__action49::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -21040,11 +21660,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // AugAssign = "//=" => ActionFn(49); + // AugAssign = "//=" => ActionFn(50); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action49::<>(__sym0); + let __nt = super::__action50::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 98) } @@ -21055,11 +21675,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CapturePattern = Identifier => ActionFn(1217); + // CapturePattern = Identifier => ActionFn(1242); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1217::<>(__sym0); + let __nt = super::__action1242::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 99) } @@ -21070,7 +21690,30 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1480); + // ClassDef = "class", Identifier, TypeParamList, "(", ArgumentList, ")", ":", Suite => ActionFn(1703); + assert!(__symbols.len() >= 8); + let __sym7 = __pop_Variant25(__symbols); + let __sym6 = __pop_Variant0(__symbols); + let __sym5 = __pop_Variant0(__symbols); + let __sym4 = __pop_Variant48(__symbols); + let __sym3 = __pop_Variant0(__symbols); + let __sym2 = __pop_Variant79(__symbols); + let __sym1 = __pop_Variant23(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym7.2; + let __nt = super::__action1703::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (8, 100) + } + pub(crate) fn __reduce260< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // ClassDef = "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1704); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -21081,18 +21724,42 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1480::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1704::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 100) } - pub(crate) fn __reduce260< + pub(crate) fn __reduce261< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // ClassDef = Decorator+, "class", Identifier, TypeParamList, "(", ArgumentList, ")", ":", Suite => ActionFn(1705); + assert!(__symbols.len() >= 9); + let __sym8 = __pop_Variant25(__symbols); + let __sym7 = __pop_Variant0(__symbols); + let __sym6 = __pop_Variant0(__symbols); + let __sym5 = __pop_Variant48(__symbols); + let __sym4 = __pop_Variant0(__symbols); + let __sym3 = __pop_Variant79(__symbols); + let __sym2 = __pop_Variant23(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant56(__symbols); + let __start = __sym0.0; + let __end = __sym8.2; + let __nt = super::__action1705::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (9, 100) + } + pub(crate) fn __reduce262< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = Decorator+, "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1481); + // ClassDef = Decorator+, "class", Identifier, "(", ArgumentList, ")", ":", Suite => ActionFn(1706); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -21101,21 +21768,41 @@ mod __parse__Top { let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1481::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1706::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 100) } - pub(crate) fn __reduce261< + pub(crate) fn __reduce263< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // ClassDef = "class", Identifier, TypeParamList, ":", Suite => ActionFn(1707); + assert!(__symbols.len() >= 5); + let __sym4 = __pop_Variant25(__symbols); + let __sym3 = __pop_Variant0(__symbols); + let __sym2 = __pop_Variant79(__symbols); + let __sym1 = __pop_Variant23(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym4.2; + let __nt = super::__action1707::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (5, 100) + } + pub(crate) fn __reduce264< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = "class", Identifier, ":", Suite => ActionFn(1482); + // ClassDef = "class", Identifier, ":", Suite => ActionFn(1708); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -21123,81 +21810,102 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1482::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1708::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 100) } - pub(crate) fn __reduce262< + pub(crate) fn __reduce265< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassDef = Decorator+, "class", Identifier, ":", Suite => ActionFn(1483); + // ClassDef = Decorator+, "class", Identifier, TypeParamList, ":", Suite => ActionFn(1709); + assert!(__symbols.len() >= 6); + let __sym5 = __pop_Variant25(__symbols); + let __sym4 = __pop_Variant0(__symbols); + let __sym3 = __pop_Variant79(__symbols); + let __sym2 = __pop_Variant23(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant56(__symbols); + let __start = __sym0.0; + let __end = __sym5.2; + let __nt = super::__action1709::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (6, 100) + } + pub(crate) fn __reduce266< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // ClassDef = Decorator+, "class", Identifier, ":", Suite => ActionFn(1710); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1483::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1710::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 100) } - pub(crate) fn __reduce263< + pub(crate) fn __reduce267< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ",", OneOrMore, ",", ")" => ActionFn(1218); + // ClassPattern = MatchName, "(", OneOrMore, ",", OneOrMore, ",", ")" => ActionFn(1243); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant74(__symbols); + let __sym4 = __pop_Variant76(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1218::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1243::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (7, 101) } - pub(crate) fn __reduce264< + pub(crate) fn __reduce268< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ",", OneOrMore, ")" => ActionFn(1219); + // ClassPattern = MatchName, "(", OneOrMore, ",", OneOrMore, ")" => ActionFn(1244); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant74(__symbols); + let __sym4 = __pop_Variant76(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1219::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1244::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (6, 101) } - pub(crate) fn __reduce265< + pub(crate) fn __reduce269< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ",", ")" => ActionFn(1220); + // ClassPattern = MatchName, "(", OneOrMore, ",", ")" => ActionFn(1245); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -21206,18 +21914,18 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1220::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1245::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 101) } - pub(crate) fn __reduce266< + pub(crate) fn __reduce270< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ")" => ActionFn(1221); + // ClassPattern = MatchName, "(", OneOrMore, ")" => ActionFn(1246); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); @@ -21225,118 +21933,118 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1221::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1246::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 101) } - pub(crate) fn __reduce267< + pub(crate) fn __reduce271< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ",", ")" => ActionFn(1222); + // ClassPattern = MatchName, "(", OneOrMore, ",", ")" => ActionFn(1247); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant74(__symbols); + let __sym2 = __pop_Variant76(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1222::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1247::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 101) } - pub(crate) fn __reduce268< + pub(crate) fn __reduce272< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", OneOrMore, ")" => ActionFn(1223); + // ClassPattern = MatchName, "(", OneOrMore, ")" => ActionFn(1248); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant74(__symbols); + let __sym2 = __pop_Variant76(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1223::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1248::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 101) } - pub(crate) fn __reduce269< + pub(crate) fn __reduce273< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchName, "(", ")" => ActionFn(1224); + // ClassPattern = MatchName, "(", ")" => ActionFn(1249); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1224::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1249::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 101) } - pub(crate) fn __reduce270< + pub(crate) fn __reduce274< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", OneOrMore, ",", ")" => ActionFn(1225); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", OneOrMore, ",", ")" => ActionFn(1250); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant74(__symbols); + let __sym4 = __pop_Variant76(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1225::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1250::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (7, 101) } - pub(crate) fn __reduce271< + pub(crate) fn __reduce275< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", OneOrMore, ")" => ActionFn(1226); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", OneOrMore, ")" => ActionFn(1251); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); - let __sym4 = __pop_Variant74(__symbols); + let __sym4 = __pop_Variant76(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1226::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1251::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (6, 101) } - pub(crate) fn __reduce272< + pub(crate) fn __reduce276< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", ")" => ActionFn(1227); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", ")" => ActionFn(1252); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -21345,18 +22053,18 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1227::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1252::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 101) } - pub(crate) fn __reduce273< + pub(crate) fn __reduce277< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ")" => ActionFn(1228); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ")" => ActionFn(1253); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant50(__symbols); @@ -21364,398 +22072,338 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1228::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1253::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 101) } - pub(crate) fn __reduce274< + pub(crate) fn __reduce278< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", ")" => ActionFn(1229); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ",", ")" => ActionFn(1254); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant74(__symbols); + let __sym2 = __pop_Variant76(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1229::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1254::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 101) } - pub(crate) fn __reduce275< + pub(crate) fn __reduce279< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ")" => ActionFn(1230); + // ClassPattern = MatchNameOrAttr, "(", OneOrMore, ")" => ActionFn(1255); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant74(__symbols); + let __sym2 = __pop_Variant76(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1230::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1255::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 101) } - pub(crate) fn __reduce276< + pub(crate) fn __reduce280< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClassPattern = MatchNameOrAttr, "(", ")" => ActionFn(1231); + // ClassPattern = MatchNameOrAttr, "(", ")" => ActionFn(1256); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1231::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1256::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 101) } - pub(crate) fn __reduce277< + pub(crate) fn __reduce281< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClosedPattern = LiteralPattern => ActionFn(92); + // ClosedPattern = LiteralPattern => ActionFn(93); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action92::<>(__sym0); + let __nt = super::__action93::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 102) } - pub(crate) fn __reduce278< + pub(crate) fn __reduce282< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClosedPattern = CapturePattern => ActionFn(93); + // ClosedPattern = CapturePattern => ActionFn(94); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action93::<>(__sym0); + let __nt = super::__action94::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 102) } - pub(crate) fn __reduce279< + pub(crate) fn __reduce283< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClosedPattern = StarPattern => ActionFn(94); + // ClosedPattern = StarPattern => ActionFn(95); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action94::<>(__sym0); + let __nt = super::__action95::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 102) } - pub(crate) fn __reduce280< + pub(crate) fn __reduce284< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClosedPattern = ValuePattern => ActionFn(95); + // ClosedPattern = ValuePattern => ActionFn(96); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action95::<>(__sym0); + let __nt = super::__action96::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 102) } - pub(crate) fn __reduce281< + pub(crate) fn __reduce285< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClosedPattern = SequencePattern => ActionFn(96); + // ClosedPattern = SequencePattern => ActionFn(97); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action96::<>(__sym0); + let __nt = super::__action97::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 102) } - pub(crate) fn __reduce282< + pub(crate) fn __reduce286< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClosedPattern = MappingPattern => ActionFn(97); + // ClosedPattern = MappingPattern => ActionFn(98); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action97::<>(__sym0); + let __nt = super::__action98::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 102) } - pub(crate) fn __reduce283< + pub(crate) fn __reduce287< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ClosedPattern = ClassPattern => ActionFn(98); + // ClosedPattern = ClassPattern => ActionFn(99); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action98::<>(__sym0); + let __nt = super::__action99::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 102) } - pub(crate) fn __reduce284< + pub(crate) fn __reduce288< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = FunctionArgument => ActionFn(1458); + // Comma = FunctionArgument => ActionFn(1497); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1458::<>(__sym0); + let __nt = super::__action1497::<>(__sym0); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (1, 103) } - pub(crate) fn __reduce285< + pub(crate) fn __reduce289< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = => ActionFn(1459); + // Comma = => ActionFn(1498); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action1459::<>(&__start, &__end); + let __nt = super::__action1498::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (0, 103) } - pub(crate) fn __reduce286< + pub(crate) fn __reduce290< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+, FunctionArgument => ActionFn(1460); + // Comma = ( ",")+, FunctionArgument => ActionFn(1499); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant29(__symbols); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1460::<>(__sym0, __sym1); + let __nt = super::__action1499::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (2, 103) } - pub(crate) fn __reduce287< + pub(crate) fn __reduce291< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+ => ActionFn(1461); + // Comma = ( ",")+ => ActionFn(1500); let __sym0 = __pop_Variant30(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1461::<>(__sym0); + let __nt = super::__action1500::<>(__sym0); __symbols.push((__start, __Symbol::Variant49(__nt), __end)); (1, 103) } - pub(crate) fn __reduce288< + pub(crate) fn __reduce292< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = Pattern => ActionFn(1466); + // Comma = Pattern => ActionFn(1505); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1466::<>(__sym0); + let __nt = super::__action1505::<>(__sym0); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (1, 104) } - pub(crate) fn __reduce289< + pub(crate) fn __reduce293< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = => ActionFn(1467); + // Comma = => ActionFn(1506); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action1467::<>(&__start, &__end); + let __nt = super::__action1506::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (0, 104) } - pub(crate) fn __reduce290< + pub(crate) fn __reduce294< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+, Pattern => ActionFn(1468); + // Comma = ( ",")+, Pattern => ActionFn(1507); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1468::<>(__sym0, __sym1); + let __nt = super::__action1507::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (2, 104) } - pub(crate) fn __reduce291< + pub(crate) fn __reduce295< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comma = ( ",")+ => ActionFn(1469); + // Comma = ( ",")+ => ActionFn(1508); let __sym0 = __pop_Variant34(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1469::<>(__sym0); + let __nt = super::__action1508::<>(__sym0); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (1, 104) } - pub(crate) fn __reduce292< + pub(crate) fn __reduce296< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompFor = SingleForComprehension+ => ActionFn(212); - let __sym0 = __pop_Variant80(__symbols); + // CompFor = SingleForComprehension+ => ActionFn(219); + let __sym0 = __pop_Variant83(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action212::<>(__sym0); + let __nt = super::__action219::<>(__sym0); __symbols.push((__start, __Symbol::Variant51(__nt), __end)); (1, 105) } - pub(crate) fn __reduce293< + pub(crate) fn __reduce297< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompFor? = CompFor => ActionFn(225); + // CompFor? = CompFor => ActionFn(232); let __sym0 = __pop_Variant51(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action225::<>(__sym0); + let __nt = super::__action232::<>(__sym0); __symbols.push((__start, __Symbol::Variant52(__nt), __end)); (1, 106) } - pub(crate) fn __reduce294< + pub(crate) fn __reduce298< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompFor? = => ActionFn(226); + // CompFor? = => ActionFn(233); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action226::<>(&__start, &__end); + let __nt = super::__action233::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant52(__nt), __end)); (0, 106) } - pub(crate) fn __reduce295< - >( - __lookahead_start: Option<&TextSize>, - __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, - _: core::marker::PhantomData<()>, - ) -> (usize, usize) - { - // CompOp = "==" => ActionFn(172); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0; - let __end = __sym0.2; - let __nt = super::__action172::<>(__sym0); - __symbols.push((__start, __Symbol::Variant53(__nt), __end)); - (1, 107) - } - pub(crate) fn __reduce296< - >( - __lookahead_start: Option<&TextSize>, - __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, - _: core::marker::PhantomData<()>, - ) -> (usize, usize) - { - // CompOp = "!=" => ActionFn(173); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0; - let __end = __sym0.2; - let __nt = super::__action173::<>(__sym0); - __symbols.push((__start, __Symbol::Variant53(__nt), __end)); - (1, 107) - } - pub(crate) fn __reduce297< - >( - __lookahead_start: Option<&TextSize>, - __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, - _: core::marker::PhantomData<()>, - ) -> (usize, usize) - { - // CompOp = "<" => ActionFn(174); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0; - let __end = __sym0.2; - let __nt = super::__action174::<>(__sym0); - __symbols.push((__start, __Symbol::Variant53(__nt), __end)); - (1, 107) - } - pub(crate) fn __reduce298< - >( - __lookahead_start: Option<&TextSize>, - __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, - _: core::marker::PhantomData<()>, - ) -> (usize, usize) - { - // CompOp = "<=" => ActionFn(175); - let __sym0 = __pop_Variant0(__symbols); - let __start = __sym0.0; - let __end = __sym0.2; - let __nt = super::__action175::<>(__sym0); - __symbols.push((__start, __Symbol::Variant53(__nt), __end)); - (1, 107) - } pub(crate) fn __reduce299< >( __lookahead_start: Option<&TextSize>, @@ -21763,11 +22411,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompOp = ">" => ActionFn(176); + // CompOp = "==" => ActionFn(179); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action176::<>(__sym0); + let __nt = super::__action179::<>(__sym0); __symbols.push((__start, __Symbol::Variant53(__nt), __end)); (1, 107) } @@ -21778,11 +22426,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompOp = ">=" => ActionFn(177); + // CompOp = "!=" => ActionFn(180); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action177::<>(__sym0); + let __nt = super::__action180::<>(__sym0); __symbols.push((__start, __Symbol::Variant53(__nt), __end)); (1, 107) } @@ -21793,11 +22441,11 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompOp = "in" => ActionFn(178); + // CompOp = "<" => ActionFn(181); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action178::<>(__sym0); + let __nt = super::__action181::<>(__sym0); __symbols.push((__start, __Symbol::Variant53(__nt), __end)); (1, 107) } @@ -21808,711 +22456,771 @@ mod __parse__Top { _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompOp = "not", "in" => ActionFn(179); + // CompOp = "<=" => ActionFn(182); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = super::__action182::<>(__sym0); + __symbols.push((__start, __Symbol::Variant53(__nt), __end)); + (1, 107) + } + pub(crate) fn __reduce303< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // CompOp = ">" => ActionFn(183); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = super::__action183::<>(__sym0); + __symbols.push((__start, __Symbol::Variant53(__nt), __end)); + (1, 107) + } + pub(crate) fn __reduce304< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // CompOp = ">=" => ActionFn(184); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = super::__action184::<>(__sym0); + __symbols.push((__start, __Symbol::Variant53(__nt), __end)); + (1, 107) + } + pub(crate) fn __reduce305< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // CompOp = "in" => ActionFn(185); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = super::__action185::<>(__sym0); + __symbols.push((__start, __Symbol::Variant53(__nt), __end)); + (1, 107) + } + pub(crate) fn __reduce306< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // CompOp = "not", "in" => ActionFn(186); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action179::<>(__sym0, __sym1); + let __nt = super::__action186::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant53(__nt), __end)); (2, 107) } - pub(crate) fn __reduce303< + pub(crate) fn __reduce307< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompOp = "is" => ActionFn(180); + // CompOp = "is" => ActionFn(187); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action180::<>(__sym0); + let __nt = super::__action187::<>(__sym0); __symbols.push((__start, __Symbol::Variant53(__nt), __end)); (1, 107) } - pub(crate) fn __reduce304< + pub(crate) fn __reduce308< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompOp = "is", "not" => ActionFn(181); + // CompOp = "is", "not" => ActionFn(188); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action181::<>(__sym0, __sym1); + let __nt = super::__action188::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant53(__nt), __end)); (2, 107) } - pub(crate) fn __reduce305< + pub(crate) fn __reduce309< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comparison<"all"> = Expression<"all">, (CompOp Expression<"all">)+ => ActionFn(1232); + // Comparison<"all"> = Expression<"all">, (CompOp Expression<"all">)+ => ActionFn(1257); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant43(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1232::<>(__sym0, __sym1); + let __nt = super::__action1257::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 108) } - pub(crate) fn __reduce306< + pub(crate) fn __reduce310< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comparison<"all"> = Expression<"all"> => ActionFn(470); + // Comparison<"all"> = Expression<"all"> => ActionFn(481); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action470::<>(__sym0); + let __nt = super::__action481::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 108) } - pub(crate) fn __reduce307< + pub(crate) fn __reduce311< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comparison<"no-withitems"> = Expression<"all">, (CompOp Expression<"all">)+ => ActionFn(1233); + // Comparison<"no-withitems"> = Expression<"all">, (CompOp Expression<"all">)+ => ActionFn(1258); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant43(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1233::<>(__sym0, __sym1); + let __nt = super::__action1258::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 109) } - pub(crate) fn __reduce308< + pub(crate) fn __reduce312< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Comparison<"no-withitems"> = Expression<"no-withitems"> => ActionFn(479); + // Comparison<"no-withitems"> = Expression<"no-withitems"> => ActionFn(490); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action479::<>(__sym0); + let __nt = super::__action490::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 109) } - pub(crate) fn __reduce309< + pub(crate) fn __reduce313< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompoundStatement = MatchStatement => ActionFn(71); + // CompoundStatement = MatchStatement => ActionFn(72); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action71::<>(__sym0); + let __nt = super::__action72::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 110) } - pub(crate) fn __reduce310< + pub(crate) fn __reduce314< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompoundStatement = IfStatement => ActionFn(72); + // CompoundStatement = IfStatement => ActionFn(73); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action72::<>(__sym0); + let __nt = super::__action73::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 110) } - pub(crate) fn __reduce311< + pub(crate) fn __reduce315< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompoundStatement = WhileStatement => ActionFn(73); + // CompoundStatement = WhileStatement => ActionFn(74); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action73::<>(__sym0); + let __nt = super::__action74::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 110) } - pub(crate) fn __reduce312< + pub(crate) fn __reduce316< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompoundStatement = ForStatement => ActionFn(74); + // CompoundStatement = ForStatement => ActionFn(75); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action74::<>(__sym0); + let __nt = super::__action75::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 110) } - pub(crate) fn __reduce313< + pub(crate) fn __reduce317< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompoundStatement = TryStatement => ActionFn(75); + // CompoundStatement = TryStatement => ActionFn(76); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action75::<>(__sym0); + let __nt = super::__action76::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 110) } - pub(crate) fn __reduce314< + pub(crate) fn __reduce318< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompoundStatement = WithStatement => ActionFn(76); + // CompoundStatement = WithStatement => ActionFn(77); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action76::<>(__sym0); + let __nt = super::__action77::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 110) } - pub(crate) fn __reduce315< + pub(crate) fn __reduce319< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompoundStatement = FuncDef => ActionFn(77); + // CompoundStatement = FuncDef => ActionFn(78); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action77::<>(__sym0); + let __nt = super::__action78::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 110) } - pub(crate) fn __reduce316< + pub(crate) fn __reduce320< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // CompoundStatement = ClassDef => ActionFn(78); + // CompoundStatement = ClassDef => ActionFn(79); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action78::<>(__sym0); + let __nt = super::__action79::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 110) } - pub(crate) fn __reduce317< + pub(crate) fn __reduce321< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ComprehensionIf = "if", ExpressionNoCond => ActionFn(215); + // ComprehensionIf = "if", ExpressionNoCond => ActionFn(222); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action215::<>(__sym0, __sym1); + let __nt = super::__action222::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 111) } - pub(crate) fn __reduce318< + pub(crate) fn __reduce322< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ComprehensionIf* = => ActionFn(228); + // ComprehensionIf* = => ActionFn(235); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action228::<>(&__start, &__end); + let __nt = super::__action235::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (0, 112) } - pub(crate) fn __reduce319< + pub(crate) fn __reduce323< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ComprehensionIf* = ComprehensionIf+ => ActionFn(229); + // ComprehensionIf* = ComprehensionIf+ => ActionFn(236); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action229::<>(__sym0); + let __nt = super::__action236::<>(__sym0); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (1, 112) } - pub(crate) fn __reduce320< + pub(crate) fn __reduce324< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ComprehensionIf+ = ComprehensionIf => ActionFn(419); + // ComprehensionIf+ = ComprehensionIf => ActionFn(430); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action419::<>(__sym0); + let __nt = super::__action430::<>(__sym0); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (1, 113) } - pub(crate) fn __reduce321< + pub(crate) fn __reduce325< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ComprehensionIf+ = ComprehensionIf+, ComprehensionIf => ActionFn(420); + // ComprehensionIf+ = ComprehensionIf+, ComprehensionIf => ActionFn(431); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action420::<>(__sym0, __sym1); + let __nt = super::__action431::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant17(__nt), __end)); (2, 113) } - pub(crate) fn __reduce322< + pub(crate) fn __reduce326< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Constant = int => ActionFn(221); + // Constant = int => ActionFn(228); let __sym0 = __pop_Variant3(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action221::<>(__sym0); + let __nt = super::__action228::<>(__sym0); __symbols.push((__start, __Symbol::Variant54(__nt), __end)); (1, 114) } - pub(crate) fn __reduce323< + pub(crate) fn __reduce327< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Constant = float => ActionFn(222); + // Constant = float => ActionFn(229); let __sym0 = __pop_Variant2(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action222::<>(__sym0); + let __nt = super::__action229::<>(__sym0); __symbols.push((__start, __Symbol::Variant54(__nt), __end)); (1, 114) } - pub(crate) fn __reduce324< + pub(crate) fn __reduce328< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Constant = complex => ActionFn(223); + // Constant = complex => ActionFn(230); let __sym0 = __pop_Variant1(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action223::<>(__sym0); + let __nt = super::__action230::<>(__sym0); __symbols.push((__start, __Symbol::Variant54(__nt), __end)); (1, 114) } - pub(crate) fn __reduce325< + pub(crate) fn __reduce329< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ConstantAtom = Constant => ActionFn(1234); + // ConstantAtom = Constant => ActionFn(1259); let __sym0 = __pop_Variant54(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1234::<>(__sym0); + let __nt = super::__action1259::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 115) } - pub(crate) fn __reduce326< + pub(crate) fn __reduce330< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ConstantExpr = ConstantAtom => ActionFn(106); + // ConstantExpr = ConstantAtom => ActionFn(107); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action106::<>(__sym0); + let __nt = super::__action107::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 116) } - pub(crate) fn __reduce327< + pub(crate) fn __reduce331< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ConstantExpr = "-", ConstantAtom => ActionFn(1235); + // ConstantExpr = "-", ConstantAtom => ActionFn(1260); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1235::<>(__sym0, __sym1); + let __nt = super::__action1260::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 116) } - pub(crate) fn __reduce328< + pub(crate) fn __reduce332< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Decorator = "@", NamedExpressionTest, "\n" => ActionFn(760); + // Decorator = "@", NamedExpressionTest, "\n" => ActionFn(1261); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action760::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant15(__nt), __end)); + let __nt = super::__action1261::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant55(__nt), __end)); (3, 117) } - pub(crate) fn __reduce329< + pub(crate) fn __reduce333< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Decorator* = => ActionFn(273); + // Decorator* = => ActionFn(284); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action273::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant17(__nt), __end)); + let __nt = super::__action284::<>(&__start, &__end); + __symbols.push((__start, __Symbol::Variant56(__nt), __end)); (0, 118) } - pub(crate) fn __reduce330< + pub(crate) fn __reduce334< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Decorator* = Decorator+ => ActionFn(274); - let __sym0 = __pop_Variant17(__symbols); + // Decorator* = Decorator+ => ActionFn(285); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action274::<>(__sym0); - __symbols.push((__start, __Symbol::Variant17(__nt), __end)); + let __nt = super::__action285::<>(__sym0); + __symbols.push((__start, __Symbol::Variant56(__nt), __end)); (1, 118) } - pub(crate) fn __reduce331< + pub(crate) fn __reduce335< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Decorator+ = Decorator => ActionFn(392); - let __sym0 = __pop_Variant15(__symbols); + // Decorator+ = Decorator => ActionFn(403); + let __sym0 = __pop_Variant55(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action392::<>(__sym0); - __symbols.push((__start, __Symbol::Variant17(__nt), __end)); + let __nt = super::__action403::<>(__sym0); + __symbols.push((__start, __Symbol::Variant56(__nt), __end)); (1, 119) } - pub(crate) fn __reduce332< + pub(crate) fn __reduce336< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Decorator+ = Decorator+, Decorator => ActionFn(393); + // Decorator+ = Decorator+, Decorator => ActionFn(404); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant15(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym1 = __pop_Variant55(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action393::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant17(__nt), __end)); + let __nt = super::__action404::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant56(__nt), __end)); (2, 119) } - pub(crate) fn __reduce333< + pub(crate) fn __reduce337< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DelStatement = "del", ExpressionList2 => ActionFn(1236); + // DelStatement = "del", ExpressionList2 => ActionFn(1262); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1236::<>(__sym0, __sym1); + let __nt = super::__action1262::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 120) } - pub(crate) fn __reduce334< + pub(crate) fn __reduce338< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DictElement = DictEntry => ActionFn(203); - let __sym0 = __pop_Variant56(__symbols); + // DictElement = DictEntry => ActionFn(210); + let __sym0 = __pop_Variant58(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action203::<>(__sym0); - __symbols.push((__start, __Symbol::Variant55(__nt), __end)); + let __nt = super::__action210::<>(__sym0); + __symbols.push((__start, __Symbol::Variant57(__nt), __end)); (1, 121) } - pub(crate) fn __reduce335< + pub(crate) fn __reduce339< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DictElement = "**", Expression<"all"> => ActionFn(204); + // DictElement = "**", Expression<"all"> => ActionFn(211); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action204::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant55(__nt), __end)); + let __nt = super::__action211::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant57(__nt), __end)); (2, 121) } - pub(crate) fn __reduce336< + pub(crate) fn __reduce340< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DictEntry = Test<"all">, ":", Test<"all"> => ActionFn(202); + // DictEntry = Test<"all">, ":", Test<"all"> => ActionFn(209); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action202::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant56(__nt), __end)); + let __nt = super::__action209::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant58(__nt), __end)); (3, 122) } - pub(crate) fn __reduce337< + pub(crate) fn __reduce341< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DictLiteralValues = OneOrMore, "," => ActionFn(581); + // DictLiteralValues = OneOrMore, "," => ActionFn(592); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant57(__symbols); + let __sym0 = __pop_Variant59(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action581::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant57(__nt), __end)); + let __nt = super::__action592::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant59(__nt), __end)); (2, 123) } - pub(crate) fn __reduce338< + pub(crate) fn __reduce342< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DictLiteralValues = OneOrMore => ActionFn(582); - let __sym0 = __pop_Variant57(__symbols); + // DictLiteralValues = OneOrMore => ActionFn(593); + let __sym0 = __pop_Variant59(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action582::<>(__sym0); - __symbols.push((__start, __Symbol::Variant57(__nt), __end)); + let __nt = super::__action593::<>(__sym0); + __symbols.push((__start, __Symbol::Variant59(__nt), __end)); (1, 123) } - pub(crate) fn __reduce339< + pub(crate) fn __reduce343< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DictLiteralValues? = DictLiteralValues => ActionFn(523); - let __sym0 = __pop_Variant57(__symbols); + // DictLiteralValues? = DictLiteralValues => ActionFn(534); + let __sym0 = __pop_Variant59(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action523::<>(__sym0); - __symbols.push((__start, __Symbol::Variant58(__nt), __end)); + let __nt = super::__action534::<>(__sym0); + __symbols.push((__start, __Symbol::Variant60(__nt), __end)); (1, 124) } - pub(crate) fn __reduce340< + pub(crate) fn __reduce344< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DictLiteralValues? = => ActionFn(524); + // DictLiteralValues? = => ActionFn(535); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action524::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant58(__nt), __end)); + let __nt = super::__action535::<>(&__start, &__end); + __symbols.push((__start, __Symbol::Variant60(__nt), __end)); (0, 124) } - pub(crate) fn __reduce341< + pub(crate) fn __reduce345< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DottedName = name => ActionFn(66); + // DottedName = name => ActionFn(1263); let __sym0 = __pop_Variant4(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action66::<>(__sym0); + let __nt = super::__action1263::<>(__sym0); __symbols.push((__start, __Symbol::Variant23(__nt), __end)); (1, 125) } - pub(crate) fn __reduce342< + pub(crate) fn __reduce346< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DottedName = name, ("." Identifier)+ => ActionFn(67); + // DottedName = name, ("." Identifier)+ => ActionFn(1264); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant21(__symbols); let __sym0 = __pop_Variant4(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action67::<>(__sym0, __sym1); + let __nt = super::__action1264::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant23(__nt), __end)); (2, 125) } - pub(crate) fn __reduce343< + pub(crate) fn __reduce347< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DoubleStarTypedParameter = Identifier, ":", Test<"all"> => ActionFn(1237); + // DoubleStarTypedParameter = Identifier, ":", Test<"all"> => ActionFn(1265); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1237::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant59(__nt), __end)); + let __nt = super::__action1265::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (3, 126) } - pub(crate) fn __reduce344< + pub(crate) fn __reduce348< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DoubleStarTypedParameter = Identifier => ActionFn(1238); + // DoubleStarTypedParameter = Identifier => ActionFn(1266); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1238::<>(__sym0); - __symbols.push((__start, __Symbol::Variant59(__nt), __end)); + let __nt = super::__action1266::<>(__sym0); + __symbols.push((__start, __Symbol::Variant61(__nt), __end)); (1, 126) } - pub(crate) fn __reduce345< + pub(crate) fn __reduce349< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DoubleStarTypedParameter? = DoubleStarTypedParameter => ActionFn(457); - let __sym0 = __pop_Variant59(__symbols); + // DoubleStarTypedParameter? = DoubleStarTypedParameter => ActionFn(468); + let __sym0 = __pop_Variant61(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action457::<>(__sym0); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); + let __nt = super::__action468::<>(__sym0); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); (1, 127) } - pub(crate) fn __reduce346< + pub(crate) fn __reduce350< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // DoubleStarTypedParameter? = => ActionFn(458); + // DoubleStarTypedParameter? = => ActionFn(469); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action458::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); + let __nt = super::__action469::<>(&__start, &__end); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); (0, 127) } - pub(crate) fn __reduce347< + pub(crate) fn __reduce351< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause = "except", Test<"all">, ":", Suite => ActionFn(1636); + // ExceptClause = "except", Test<"all">, ":", Suite => ActionFn(1675); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -22520,36 +23228,36 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1636::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + let __nt = super::__action1675::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (4, 128) } - pub(crate) fn __reduce348< + pub(crate) fn __reduce352< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause = "except", ":", Suite => ActionFn(1637); + // ExceptClause = "except", ":", Suite => ActionFn(1676); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1637::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + let __nt = super::__action1676::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (3, 128) } - pub(crate) fn __reduce349< + pub(crate) fn __reduce353< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause = "except", Test<"all">, "as", Identifier, ":", Suite => ActionFn(1148); + // ExceptClause = "except", Test<"all">, "as", Identifier, ":", Suite => ActionFn(1173); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -22559,50 +23267,50 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1148::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + let __nt = super::__action1173::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (6, 128) } - pub(crate) fn __reduce350< + pub(crate) fn __reduce354< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause+ = ExceptClause => ActionFn(298); - let __sym0 = __pop_Variant61(__symbols); + // ExceptClause+ = ExceptClause => ActionFn(309); + let __sym0 = __pop_Variant63(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action298::<>(__sym0); - __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + let __nt = super::__action309::<>(__sym0); + __symbols.push((__start, __Symbol::Variant64(__nt), __end)); (1, 129) } - pub(crate) fn __reduce351< + pub(crate) fn __reduce355< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptClause+ = ExceptClause+, ExceptClause => ActionFn(299); + // ExceptClause+ = ExceptClause+, ExceptClause => ActionFn(310); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant61(__symbols); - let __sym0 = __pop_Variant62(__symbols); + let __sym1 = __pop_Variant63(__symbols); + let __sym0 = __pop_Variant64(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action299::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + let __nt = super::__action310::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant64(__nt), __end)); (2, 129) } - pub(crate) fn __reduce352< + pub(crate) fn __reduce356< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptStarClause = "except", "*", Test<"all">, ":", Suite => ActionFn(765); + // ExceptStarClause = "except", "*", Test<"all">, ":", Suite => ActionFn(780); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -22611,18 +23319,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action765::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + let __nt = super::__action780::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (5, 130) } - pub(crate) fn __reduce353< + pub(crate) fn __reduce357< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptStarClause = "except", "*", Test<"all">, "as", Identifier, ":", Suite => ActionFn(1149); + // ExceptStarClause = "except", "*", Test<"all">, "as", Identifier, ":", Suite => ActionFn(1174); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -22633,258 +23341,258 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1149::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); - __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + let __nt = super::__action1174::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + __symbols.push((__start, __Symbol::Variant63(__nt), __end)); (7, 130) } - pub(crate) fn __reduce354< + pub(crate) fn __reduce358< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptStarClause+ = ExceptStarClause => ActionFn(293); - let __sym0 = __pop_Variant61(__symbols); + // ExceptStarClause+ = ExceptStarClause => ActionFn(304); + let __sym0 = __pop_Variant63(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action293::<>(__sym0); - __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + let __nt = super::__action304::<>(__sym0); + __symbols.push((__start, __Symbol::Variant64(__nt), __end)); (1, 131) } - pub(crate) fn __reduce355< + pub(crate) fn __reduce359< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExceptStarClause+ = ExceptStarClause+, ExceptStarClause => ActionFn(294); + // ExceptStarClause+ = ExceptStarClause+, ExceptStarClause => ActionFn(305); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant61(__symbols); - let __sym0 = __pop_Variant62(__symbols); + let __sym1 = __pop_Variant63(__symbols); + let __sym0 = __pop_Variant64(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action294::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + let __nt = super::__action305::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant64(__nt), __end)); (2, 131) } - pub(crate) fn __reduce356< + pub(crate) fn __reduce360< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Expression<"all"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1239); + // Expression<"all"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1267); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1239::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1267::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 132) } - pub(crate) fn __reduce357< + pub(crate) fn __reduce361< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Expression<"all"> = XorExpression<"all"> => ActionFn(239); + // Expression<"all"> = XorExpression<"all"> => ActionFn(246); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action239::<>(__sym0); + let __nt = super::__action246::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 132) } - pub(crate) fn __reduce358< + pub(crate) fn __reduce362< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Expression<"no-withitems"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1240); + // Expression<"no-withitems"> = Expression<"all">, "|", XorExpression<"all"> => ActionFn(1268); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1240::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1268::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 133) } - pub(crate) fn __reduce359< + pub(crate) fn __reduce363< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Expression<"no-withitems"> = XorExpression<"no-withitems"> => ActionFn(485); + // Expression<"no-withitems"> = XorExpression<"no-withitems"> => ActionFn(496); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action485::<>(__sym0); + let __nt = super::__action496::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 133) } - pub(crate) fn __reduce360< + pub(crate) fn __reduce364< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionList = GenericList => ActionFn(208); + // ExpressionList = GenericList => ActionFn(215); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action208::<>(__sym0); + let __nt = super::__action215::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 134) } - pub(crate) fn __reduce361< + pub(crate) fn __reduce365< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionList2 = OneOrMore, "," => ActionFn(583); + // ExpressionList2 = OneOrMore, "," => ActionFn(594); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action583::<>(__sym0, __sym1); + let __nt = super::__action594::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (2, 135) } - pub(crate) fn __reduce362< + pub(crate) fn __reduce366< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionList2 = OneOrMore => ActionFn(584); + // ExpressionList2 = OneOrMore => ActionFn(595); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action584::<>(__sym0); + let __nt = super::__action595::<>(__sym0); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (1, 135) } - pub(crate) fn __reduce363< + pub(crate) fn __reduce367< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionNoCond = OrTest<"all"> => ActionFn(214); + // ExpressionNoCond = OrTest<"all"> => ActionFn(221); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action214::<>(__sym0); + let __nt = super::__action221::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 136) } - pub(crate) fn __reduce364< + pub(crate) fn __reduce368< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionOrStarExpression = Expression<"all"> => ActionFn(206); + // ExpressionOrStarExpression = Expression<"all"> => ActionFn(213); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action206::<>(__sym0); + let __nt = super::__action213::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 137) } - pub(crate) fn __reduce365< + pub(crate) fn __reduce369< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionOrStarExpression = StarExpr => ActionFn(207); + // ExpressionOrStarExpression = StarExpr => ActionFn(214); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action207::<>(__sym0); + let __nt = super::__action214::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 137) } - pub(crate) fn __reduce366< + pub(crate) fn __reduce370< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList => ActionFn(1661); + // ExpressionStatement = GenericList => ActionFn(1700); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1661::<>(__sym0); + let __nt = super::__action1700::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 138) } - pub(crate) fn __reduce367< + pub(crate) fn __reduce371< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList, AssignSuffix+ => ActionFn(1662); + // ExpressionStatement = GenericList, AssignSuffix+ => ActionFn(1701); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant17(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1662::<>(__sym0, __sym1); + let __nt = super::__action1701::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 138) } - pub(crate) fn __reduce368< + pub(crate) fn __reduce372< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = GenericList, AugAssign, TestListOrYieldExpr => ActionFn(1663); + // ExpressionStatement = GenericList, AugAssign, TestListOrYieldExpr => ActionFn(1702); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1663::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1702::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (3, 138) } - pub(crate) fn __reduce369< + pub(crate) fn __reduce373< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = Test<"all">, ":", Test<"all">, AssignSuffix => ActionFn(1456); + // ExpressionStatement = Test<"all">, ":", Test<"all">, AssignSuffix => ActionFn(1495); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant15(__symbols); @@ -22892,192 +23600,192 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1456::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1495::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 138) } - pub(crate) fn __reduce370< + pub(crate) fn __reduce374< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ExpressionStatement = Test<"all">, ":", Test<"all"> => ActionFn(1457); + // ExpressionStatement = Test<"all">, ":", Test<"all"> => ActionFn(1496); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1457::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1496::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (3, 138) } - pub(crate) fn __reduce371< + pub(crate) fn __reduce375< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Factor<"all"> = UnaryOp, Factor<"all"> => ActionFn(1244); + // Factor<"all"> = UnaryOp, Factor<"all"> => ActionFn(1272); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); - let __sym0 = __pop_Variant85(__symbols); + let __sym0 = __pop_Variant90(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1244::<>(__sym0, __sym1); + let __nt = super::__action1272::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 139) } - pub(crate) fn __reduce372< + pub(crate) fn __reduce376< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Factor<"all"> = Power<"all"> => ActionFn(483); + // Factor<"all"> = Power<"all"> => ActionFn(494); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action483::<>(__sym0); + let __nt = super::__action494::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 139) } - pub(crate) fn __reduce373< + pub(crate) fn __reduce377< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Factor<"no-withitems"> = UnaryOp, Factor<"all"> => ActionFn(1245); + // Factor<"no-withitems"> = UnaryOp, Factor<"all"> => ActionFn(1273); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); - let __sym0 = __pop_Variant85(__symbols); + let __sym0 = __pop_Variant90(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1245::<>(__sym0, __sym1); + let __nt = super::__action1273::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 140) } - pub(crate) fn __reduce374< + pub(crate) fn __reduce378< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Factor<"no-withitems"> = Power<"no-withitems"> => ActionFn(536); + // Factor<"no-withitems"> = Power<"no-withitems"> => ActionFn(547); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action536::<>(__sym0); + let __nt = super::__action547::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 140) } - pub(crate) fn __reduce375< + pub(crate) fn __reduce379< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "break" => ActionFn(1246); + // FlowStatement = "break" => ActionFn(1274); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1246::<>(__sym0); + let __nt = super::__action1274::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } - pub(crate) fn __reduce376< + pub(crate) fn __reduce380< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "continue" => ActionFn(1247); + // FlowStatement = "continue" => ActionFn(1275); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1247::<>(__sym0); + let __nt = super::__action1275::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } - pub(crate) fn __reduce377< + pub(crate) fn __reduce381< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "return", GenericList => ActionFn(1657); + // FlowStatement = "return", GenericList => ActionFn(1696); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1657::<>(__sym0, __sym1); + let __nt = super::__action1696::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 141) } - pub(crate) fn __reduce378< + pub(crate) fn __reduce382< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = "return" => ActionFn(1658); + // FlowStatement = "return" => ActionFn(1697); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1658::<>(__sym0); + let __nt = super::__action1697::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } - pub(crate) fn __reduce379< + pub(crate) fn __reduce383< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = YieldExpr => ActionFn(1249); + // FlowStatement = YieldExpr => ActionFn(1277); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1249::<>(__sym0); + let __nt = super::__action1277::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } - pub(crate) fn __reduce380< + pub(crate) fn __reduce384< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FlowStatement = RaiseStatement => ActionFn(54); + // FlowStatement = RaiseStatement => ActionFn(55); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action54::<>(__sym0); + let __nt = super::__action55::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (1, 141) } - pub(crate) fn __reduce381< + pub(crate) fn __reduce385< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1648); + // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1687); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -23091,18 +23799,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1648::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1687::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (10, 142) } - pub(crate) fn __reduce382< + pub(crate) fn __reduce386< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1649); + // ForStatement = "async", "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1688); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23113,18 +23821,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1649::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1688::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 142) } - pub(crate) fn __reduce383< + pub(crate) fn __reduce387< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1650); + // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite, "else", ":", Suite => ActionFn(1689); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant25(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -23137,18 +23845,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = super::__action1650::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action1689::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (9, 142) } - pub(crate) fn __reduce384< + pub(crate) fn __reduce388< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1651); + // ForStatement = "for", ExpressionList, "in", GenericList, ":", Suite => ActionFn(1690); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -23158,18 +23866,42 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1651::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1690::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 142) } - pub(crate) fn __reduce385< + pub(crate) fn __reduce389< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // FuncDef = "async", "def", Identifier, TypeParamList, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1711); + assert!(__symbols.len() >= 9); + let __sym8 = __pop_Variant25(__symbols); + let __sym7 = __pop_Variant0(__symbols); + let __sym6 = __pop_Variant15(__symbols); + let __sym5 = __pop_Variant0(__symbols); + let __sym4 = __pop_Variant44(__symbols); + let __sym3 = __pop_Variant79(__symbols); + let __sym2 = __pop_Variant23(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym8.2; + let __nt = super::__action1711::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (9, 143) + } + pub(crate) fn __reduce390< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1484); + // FuncDef = "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1712); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -23181,18 +23913,43 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1484::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1712::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 143) } - pub(crate) fn __reduce386< + pub(crate) fn __reduce391< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // FuncDef = Decorator+, "async", "def", Identifier, TypeParamList, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1713); + assert!(__symbols.len() >= 10); + let __sym9 = __pop_Variant25(__symbols); + let __sym8 = __pop_Variant0(__symbols); + let __sym7 = __pop_Variant15(__symbols); + let __sym6 = __pop_Variant0(__symbols); + let __sym5 = __pop_Variant44(__symbols); + let __sym4 = __pop_Variant79(__symbols); + let __sym3 = __pop_Variant23(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant56(__symbols); + let __start = __sym0.0; + let __end = __sym9.2; + let __nt = super::__action1713::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (10, 143) + } + pub(crate) fn __reduce392< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1485); + // FuncDef = Decorator+, "async", "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1714); assert!(__symbols.len() >= 9); let __sym8 = __pop_Variant25(__symbols); let __sym7 = __pop_Variant0(__symbols); @@ -23202,21 +23959,43 @@ mod __parse__Top { let __sym3 = __pop_Variant23(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym8.2; - let __nt = super::__action1485::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + let __nt = super::__action1714::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (9, 143) } - pub(crate) fn __reduce387< + pub(crate) fn __reduce393< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // FuncDef = "async", "def", Identifier, TypeParamList, Parameters, ":", Suite => ActionFn(1715); + assert!(__symbols.len() >= 7); + let __sym6 = __pop_Variant25(__symbols); + let __sym5 = __pop_Variant0(__symbols); + let __sym4 = __pop_Variant44(__symbols); + let __sym3 = __pop_Variant79(__symbols); + let __sym2 = __pop_Variant23(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym6.2; + let __nt = super::__action1715::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (7, 143) + } + pub(crate) fn __reduce394< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1486); + // FuncDef = "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1716); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -23226,18 +24005,41 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1486::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1716::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 143) } - pub(crate) fn __reduce388< + pub(crate) fn __reduce395< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // FuncDef = Decorator+, "async", "def", Identifier, TypeParamList, Parameters, ":", Suite => ActionFn(1717); + assert!(__symbols.len() >= 8); + let __sym7 = __pop_Variant25(__symbols); + let __sym6 = __pop_Variant0(__symbols); + let __sym5 = __pop_Variant44(__symbols); + let __sym4 = __pop_Variant79(__symbols); + let __sym3 = __pop_Variant23(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant56(__symbols); + let __start = __sym0.0; + let __end = __sym7.2; + let __nt = super::__action1717::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (8, 143) + } + pub(crate) fn __reduce396< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1487); + // FuncDef = Decorator+, "async", "def", Identifier, Parameters, ":", Suite => ActionFn(1718); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23245,21 +24047,44 @@ mod __parse__Top { let __sym3 = __pop_Variant23(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1487::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1718::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 143) } - pub(crate) fn __reduce389< + pub(crate) fn __reduce397< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // FuncDef = "def", Identifier, TypeParamList, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1719); + assert!(__symbols.len() >= 8); + let __sym7 = __pop_Variant25(__symbols); + let __sym6 = __pop_Variant0(__symbols); + let __sym5 = __pop_Variant15(__symbols); + let __sym4 = __pop_Variant0(__symbols); + let __sym3 = __pop_Variant44(__symbols); + let __sym2 = __pop_Variant79(__symbols); + let __sym1 = __pop_Variant23(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym7.2; + let __nt = super::__action1719::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (8, 143) + } + pub(crate) fn __reduce398< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1488); + // FuncDef = "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1720); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23270,18 +24095,42 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1488::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1720::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 143) } - pub(crate) fn __reduce390< + pub(crate) fn __reduce399< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // FuncDef = Decorator+, "def", Identifier, TypeParamList, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1721); + assert!(__symbols.len() >= 9); + let __sym8 = __pop_Variant25(__symbols); + let __sym7 = __pop_Variant0(__symbols); + let __sym6 = __pop_Variant15(__symbols); + let __sym5 = __pop_Variant0(__symbols); + let __sym4 = __pop_Variant44(__symbols); + let __sym3 = __pop_Variant79(__symbols); + let __sym2 = __pop_Variant23(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant56(__symbols); + let __start = __sym0.0; + let __end = __sym8.2; + let __nt = super::__action1721::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (9, 143) + } + pub(crate) fn __reduce400< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1489); + // FuncDef = Decorator+, "def", Identifier, Parameters, "->", Test<"all">, ":", Suite => ActionFn(1722); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -23290,21 +24139,42 @@ mod __parse__Top { let __sym3 = __pop_Variant44(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1489::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1722::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 143) } - pub(crate) fn __reduce391< + pub(crate) fn __reduce401< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // FuncDef = "def", Identifier, TypeParamList, Parameters, ":", Suite => ActionFn(1723); + assert!(__symbols.len() >= 6); + let __sym5 = __pop_Variant25(__symbols); + let __sym4 = __pop_Variant0(__symbols); + let __sym3 = __pop_Variant44(__symbols); + let __sym2 = __pop_Variant79(__symbols); + let __sym1 = __pop_Variant23(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym5.2; + let __nt = super::__action1723::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (6, 143) + } + pub(crate) fn __reduce402< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = "def", Identifier, Parameters, ":", Suite => ActionFn(1490); + // FuncDef = "def", Identifier, Parameters, ":", Suite => ActionFn(1724); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -23313,265 +24183,287 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1490::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1724::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 143) } - pub(crate) fn __reduce392< + pub(crate) fn __reduce403< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // FuncDef = Decorator+, "def", Identifier, TypeParamList, Parameters, ":", Suite => ActionFn(1725); + assert!(__symbols.len() >= 7); + let __sym6 = __pop_Variant25(__symbols); + let __sym5 = __pop_Variant0(__symbols); + let __sym4 = __pop_Variant44(__symbols); + let __sym3 = __pop_Variant79(__symbols); + let __sym2 = __pop_Variant23(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant56(__symbols); + let __start = __sym0.0; + let __end = __sym6.2; + let __nt = super::__action1725::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (7, 143) + } + pub(crate) fn __reduce404< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FuncDef = Decorator+, "def", Identifier, Parameters, ":", Suite => ActionFn(1491); + // FuncDef = Decorator+, "def", Identifier, Parameters, ":", Suite => ActionFn(1726); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant44(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant17(__symbols); + let __sym0 = __pop_Variant56(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1491::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1726::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (6, 143) } - pub(crate) fn __reduce393< + pub(crate) fn __reduce405< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = NamedExpressionTest, CompFor => ActionFn(1474); + // FunctionArgument = NamedExpressionTest, CompFor => ActionFn(1513); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant51(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1474::<>(__sym0, __sym1); + let __nt = super::__action1513::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 144) } - pub(crate) fn __reduce394< + pub(crate) fn __reduce406< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = NamedExpressionTest => ActionFn(1475); + // FunctionArgument = NamedExpressionTest => ActionFn(1514); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1475::<>(__sym0); + let __nt = super::__action1514::<>(__sym0); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (1, 144) } - pub(crate) fn __reduce395< + pub(crate) fn __reduce407< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = Identifier, "=", Test<"all"> => ActionFn(1251); + // FunctionArgument = Identifier, "=", Test<"all"> => ActionFn(1279); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1251::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1279::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (3, 144) } - pub(crate) fn __reduce396< + pub(crate) fn __reduce408< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = "*", Test<"all"> => ActionFn(1252); + // FunctionArgument = "*", Test<"all"> => ActionFn(1280); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1252::<>(__sym0, __sym1); + let __nt = super::__action1280::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 144) } - pub(crate) fn __reduce397< + pub(crate) fn __reduce409< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument = "**", Test<"all"> => ActionFn(1253); + // FunctionArgument = "**", Test<"all"> => ActionFn(1281); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1253::<>(__sym0, __sym1); + let __nt = super::__action1281::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant29(__nt), __end)); (2, 144) } - pub(crate) fn __reduce398< + pub(crate) fn __reduce410< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument? = FunctionArgument => ActionFn(421); + // FunctionArgument? = FunctionArgument => ActionFn(432); let __sym0 = __pop_Variant29(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action421::<>(__sym0); - __symbols.push((__start, __Symbol::Variant63(__nt), __end)); + let __nt = super::__action432::<>(__sym0); + __symbols.push((__start, __Symbol::Variant65(__nt), __end)); (1, 145) } - pub(crate) fn __reduce399< + pub(crate) fn __reduce411< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // FunctionArgument? = => ActionFn(422); + // FunctionArgument? = => ActionFn(433); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action422::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant63(__nt), __end)); + let __nt = super::__action433::<>(&__start, &__end); + __symbols.push((__start, __Symbol::Variant65(__nt), __end)); (0, 145) } - pub(crate) fn __reduce400< + pub(crate) fn __reduce412< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore, "," => ActionFn(1254); + // GenericList = OneOrMore, "," => ActionFn(1282); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1254::<>(__sym0, __sym1); + let __nt = super::__action1282::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 146) } - pub(crate) fn __reduce401< + pub(crate) fn __reduce413< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore => ActionFn(1255); + // GenericList = OneOrMore => ActionFn(1283); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1255::<>(__sym0); + let __nt = super::__action1283::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 146) } - pub(crate) fn __reduce402< + pub(crate) fn __reduce414< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore, "," => ActionFn(1256); + // GenericList = OneOrMore, "," => ActionFn(1284); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1256::<>(__sym0, __sym1); + let __nt = super::__action1284::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 147) } - pub(crate) fn __reduce403< + pub(crate) fn __reduce415< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GenericList = OneOrMore => ActionFn(1257); + // GenericList = OneOrMore => ActionFn(1285); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1257::<>(__sym0); + let __nt = super::__action1285::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 147) } - pub(crate) fn __reduce404< + pub(crate) fn __reduce416< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // GlobalStatement = "global", OneOrMore => ActionFn(1258); + // GlobalStatement = "global", OneOrMore => ActionFn(1286); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant73(__symbols); + let __sym1 = __pop_Variant75(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1258::<>(__sym0, __sym1); + let __nt = super::__action1286::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 148) } - pub(crate) fn __reduce405< + pub(crate) fn __reduce417< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Guard = "if", NamedExpressionTest => ActionFn(83); + // Guard = "if", NamedExpressionTest => ActionFn(84); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action83::<>(__sym0, __sym1); + let __nt = super::__action84::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 149) } - pub(crate) fn __reduce406< + pub(crate) fn __reduce418< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Identifier = name => ActionFn(224); + // Identifier = name => ActionFn(1287); let __sym0 = __pop_Variant4(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action224::<>(__sym0); + let __nt = super::__action1287::<>(__sym0); __symbols.push((__start, __Symbol::Variant23(__nt), __end)); (1, 150) } - pub(crate) fn __reduce407< + pub(crate) fn __reduce419< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // IfStatement = "if", NamedExpressionTest, ":", Suite, "else", ":", Suite => ActionFn(1097); + // IfStatement = "if", NamedExpressionTest, ":", Suite, "else", ":", Suite => ActionFn(1122); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -23582,18 +24474,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1097::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1122::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 151) } - pub(crate) fn __reduce408< + pub(crate) fn __reduce420< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // IfStatement = "if", NamedExpressionTest, ":", Suite, (<@L> "elif" ":" )+, "else", ":", Suite => ActionFn(1098); + // IfStatement = "if", NamedExpressionTest, ":", Suite, (<@L> "elif" ":" )+, "else", ":", Suite => ActionFn(1123); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant25(__symbols); let __sym6 = __pop_Variant0(__symbols); @@ -23605,18 +24497,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action1098::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action1123::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 151) } - pub(crate) fn __reduce409< + pub(crate) fn __reduce421< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // IfStatement = "if", NamedExpressionTest, ":", Suite => ActionFn(1099); + // IfStatement = "if", NamedExpressionTest, ":", Suite => ActionFn(1124); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -23624,18 +24516,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1099::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1124::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 151) } - pub(crate) fn __reduce410< + pub(crate) fn __reduce422< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // IfStatement = "if", NamedExpressionTest, ":", Suite, (<@L> "elif" ":" )+ => ActionFn(1100); + // IfStatement = "if", NamedExpressionTest, ":", Suite, (<@L> "elif" ":" )+ => ActionFn(1125); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant28(__symbols); let __sym3 = __pop_Variant25(__symbols); @@ -23644,669 +24536,669 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1100::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1125::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (5, 151) } - pub(crate) fn __reduce411< + pub(crate) fn __reduce423< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = DottedName, "as", Identifier => ActionFn(1259); + // ImportAsAlias = DottedName, "as", Identifier => ActionFn(1288); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1259::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant64(__nt), __end)); + let __nt = super::__action1288::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (3, 152) } - pub(crate) fn __reduce412< + pub(crate) fn __reduce424< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = DottedName => ActionFn(1260); + // ImportAsAlias = DottedName => ActionFn(1289); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1260::<>(__sym0); - __symbols.push((__start, __Symbol::Variant64(__nt), __end)); + let __nt = super::__action1289::<>(__sym0); + __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (1, 152) } - pub(crate) fn __reduce413< + pub(crate) fn __reduce425< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = Identifier, "as", Identifier => ActionFn(1261); + // ImportAsAlias = Identifier, "as", Identifier => ActionFn(1290); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1261::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant64(__nt), __end)); + let __nt = super::__action1290::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (3, 153) } - pub(crate) fn __reduce414< + pub(crate) fn __reduce426< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsAlias = Identifier => ActionFn(1262); + // ImportAsAlias = Identifier => ActionFn(1291); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1262::<>(__sym0); - __symbols.push((__start, __Symbol::Variant64(__nt), __end)); + let __nt = super::__action1291::<>(__sym0); + __symbols.push((__start, __Symbol::Variant66(__nt), __end)); (1, 153) } - pub(crate) fn __reduce415< + pub(crate) fn __reduce427< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = OneOrMore> => ActionFn(1263); - let __sym0 = __pop_Variant65(__symbols); + // ImportAsNames = OneOrMore> => ActionFn(1292); + let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1263::<>(__sym0); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1292::<>(__sym0); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 154) } - pub(crate) fn __reduce416< + pub(crate) fn __reduce428< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = "(", OneOrMore>, ",", ")" => ActionFn(1264); + // ImportAsNames = "(", OneOrMore>, ",", ")" => ActionFn(1293); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant65(__symbols); + let __sym1 = __pop_Variant67(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1264::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1293::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (4, 154) } - pub(crate) fn __reduce417< + pub(crate) fn __reduce429< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = "(", OneOrMore>, ")" => ActionFn(1265); + // ImportAsNames = "(", OneOrMore>, ")" => ActionFn(1294); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant65(__symbols); + let __sym1 = __pop_Variant67(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1265::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1294::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 154) } - pub(crate) fn __reduce418< + pub(crate) fn __reduce430< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportAsNames = "*" => ActionFn(1266); + // ImportAsNames = "*" => ActionFn(1295); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1266::<>(__sym0); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1295::<>(__sym0); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 154) } - pub(crate) fn __reduce419< + pub(crate) fn __reduce431< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportDots = "..." => ActionFn(61); + // ImportDots = "..." => ActionFn(62); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action61::<>(__sym0); - __symbols.push((__start, __Symbol::Variant66(__nt), __end)); + let __nt = super::__action62::<>(__sym0); + __symbols.push((__start, __Symbol::Variant68(__nt), __end)); (1, 155) } - pub(crate) fn __reduce420< + pub(crate) fn __reduce432< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportDots = "." => ActionFn(62); + // ImportDots = "." => ActionFn(63); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action62::<>(__sym0); - __symbols.push((__start, __Symbol::Variant66(__nt), __end)); + let __nt = super::__action63::<>(__sym0); + __symbols.push((__start, __Symbol::Variant68(__nt), __end)); (1, 155) } - pub(crate) fn __reduce421< + pub(crate) fn __reduce433< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportDots* = => ActionFn(347); + // ImportDots* = => ActionFn(358); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action347::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant67(__nt), __end)); + let __nt = super::__action358::<>(&__start, &__end); + __symbols.push((__start, __Symbol::Variant69(__nt), __end)); (0, 156) } - pub(crate) fn __reduce422< + pub(crate) fn __reduce434< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportDots* = ImportDots+ => ActionFn(348); - let __sym0 = __pop_Variant67(__symbols); + // ImportDots* = ImportDots+ => ActionFn(359); + let __sym0 = __pop_Variant69(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action348::<>(__sym0); - __symbols.push((__start, __Symbol::Variant67(__nt), __end)); + let __nt = super::__action359::<>(__sym0); + __symbols.push((__start, __Symbol::Variant69(__nt), __end)); (1, 156) } - pub(crate) fn __reduce423< + pub(crate) fn __reduce435< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportDots+ = ImportDots => ActionFn(345); - let __sym0 = __pop_Variant66(__symbols); + // ImportDots+ = ImportDots => ActionFn(356); + let __sym0 = __pop_Variant68(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action345::<>(__sym0); - __symbols.push((__start, __Symbol::Variant67(__nt), __end)); + let __nt = super::__action356::<>(__sym0); + __symbols.push((__start, __Symbol::Variant69(__nt), __end)); (1, 157) } - pub(crate) fn __reduce424< + pub(crate) fn __reduce436< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportDots+ = ImportDots+, ImportDots => ActionFn(346); + // ImportDots+ = ImportDots+, ImportDots => ActionFn(357); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant66(__symbols); - let __sym0 = __pop_Variant67(__symbols); + let __sym1 = __pop_Variant68(__symbols); + let __sym0 = __pop_Variant69(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action346::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant67(__nt), __end)); + let __nt = super::__action357::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant69(__nt), __end)); (2, 157) } - pub(crate) fn __reduce425< + pub(crate) fn __reduce437< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportFromLocation = DottedName => ActionFn(1506); + // ImportFromLocation = DottedName => ActionFn(1545); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1506::<>(__sym0); - __symbols.push((__start, __Symbol::Variant68(__nt), __end)); + let __nt = super::__action1545::<>(__sym0); + __symbols.push((__start, __Symbol::Variant70(__nt), __end)); (1, 158) } - pub(crate) fn __reduce426< + pub(crate) fn __reduce438< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportFromLocation = ImportDots+, DottedName => ActionFn(1507); + // ImportFromLocation = ImportDots+, DottedName => ActionFn(1546); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); - let __sym0 = __pop_Variant67(__symbols); + let __sym0 = __pop_Variant69(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1507::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant68(__nt), __end)); + let __nt = super::__action1546::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant70(__nt), __end)); (2, 158) } - pub(crate) fn __reduce427< + pub(crate) fn __reduce439< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportFromLocation = ImportDots+ => ActionFn(60); - let __sym0 = __pop_Variant67(__symbols); + // ImportFromLocation = ImportDots+ => ActionFn(61); + let __sym0 = __pop_Variant69(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action60::<>(__sym0); - __symbols.push((__start, __Symbol::Variant68(__nt), __end)); + let __nt = super::__action61::<>(__sym0); + __symbols.push((__start, __Symbol::Variant70(__nt), __end)); (1, 158) } - pub(crate) fn __reduce428< + pub(crate) fn __reduce440< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportStatement = "import", OneOrMore> => ActionFn(1267); + // ImportStatement = "import", OneOrMore> => ActionFn(1296); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant65(__symbols); + let __sym1 = __pop_Variant67(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1267::<>(__sym0, __sym1); + let __nt = super::__action1296::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 159) } - pub(crate) fn __reduce429< + pub(crate) fn __reduce441< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ImportStatement = "from", ImportFromLocation, "import", ImportAsNames => ActionFn(1268); + // ImportStatement = "from", ImportFromLocation, "import", ImportAsNames => ActionFn(1297); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant65(__symbols); + let __sym3 = __pop_Variant67(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant68(__symbols); + let __sym1 = __pop_Variant70(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1268::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1297::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (4, 159) } - pub(crate) fn __reduce430< + pub(crate) fn __reduce442< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**", DoubleStarTypedParameter => ActionFn(1496); + // KwargParameter = "**", DoubleStarTypedParameter => ActionFn(1535); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1496::<>(__sym0, __sym1); + let __nt = super::__action1535::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (2, 160) } - pub(crate) fn __reduce431< + pub(crate) fn __reduce443< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**" => ActionFn(1497); + // KwargParameter = "**" => ActionFn(1536); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1497::<>(__sym0); + let __nt = super::__action1536::<>(__sym0); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (1, 160) } - pub(crate) fn __reduce432< + pub(crate) fn __reduce444< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**", StarUntypedParameter => ActionFn(966); + // KwargParameter = "**", StarUntypedParameter => ActionFn(989); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant59(__symbols); + let __sym1 = __pop_Variant61(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action966::<>(__sym0, __sym1); + let __nt = super::__action989::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (2, 161) } - pub(crate) fn __reduce433< + pub(crate) fn __reduce445< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // KwargParameter = "**" => ActionFn(967); + // KwargParameter = "**" => ActionFn(990); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action967::<>(__sym0); + let __nt = super::__action990::<>(__sym0); __symbols.push((__start, __Symbol::Variant9(__nt), __end)); (1, 161) } - pub(crate) fn __reduce436< + pub(crate) fn __reduce448< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ListLiteralValues = OneOrMore, "," => ActionFn(591); + // ListLiteralValues = OneOrMore, "," => ActionFn(602); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action591::<>(__sym0, __sym1); + let __nt = super::__action602::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (2, 163) } - pub(crate) fn __reduce437< + pub(crate) fn __reduce449< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ListLiteralValues = OneOrMore => ActionFn(592); + // ListLiteralValues = OneOrMore => ActionFn(603); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action592::<>(__sym0); + let __nt = super::__action603::<>(__sym0); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (1, 163) } - pub(crate) fn __reduce438< + pub(crate) fn __reduce450< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ListLiteralValues? = ListLiteralValues => ActionFn(531); + // ListLiteralValues? = ListLiteralValues => ActionFn(542); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action531::<>(__sym0); + let __nt = super::__action542::<>(__sym0); __symbols.push((__start, __Symbol::Variant32(__nt), __end)); (1, 164) } - pub(crate) fn __reduce439< + pub(crate) fn __reduce451< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ListLiteralValues? = => ActionFn(532); + // ListLiteralValues? = => ActionFn(543); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action532::<>(&__start, &__end); + let __nt = super::__action543::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant32(__nt), __end)); (0, 164) } - pub(crate) fn __reduce440< + pub(crate) fn __reduce452< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = "None" => ActionFn(1270); + // LiteralPattern = "None" => ActionFn(1299); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1270::<>(__sym0); + let __nt = super::__action1299::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } - pub(crate) fn __reduce441< + pub(crate) fn __reduce453< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = "True" => ActionFn(1271); + // LiteralPattern = "True" => ActionFn(1300); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1271::<>(__sym0); + let __nt = super::__action1300::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } - pub(crate) fn __reduce442< + pub(crate) fn __reduce454< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = "False" => ActionFn(1272); + // LiteralPattern = "False" => ActionFn(1301); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1272::<>(__sym0); + let __nt = super::__action1301::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } - pub(crate) fn __reduce443< + pub(crate) fn __reduce455< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = ConstantExpr => ActionFn(1273); + // LiteralPattern = ConstantExpr => ActionFn(1302); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1273::<>(__sym0); + let __nt = super::__action1302::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } - pub(crate) fn __reduce444< + pub(crate) fn __reduce456< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // LiteralPattern = AddOpExpr => ActionFn(1274); + // LiteralPattern = AddOpExpr => ActionFn(1303); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1274::<>(__sym0); + let __nt = super::__action1303::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (1, 165) } - pub(crate) fn __reduce446< + pub(crate) fn __reduce458< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = ConstantExpr => ActionFn(120); + // MappingKey = ConstantExpr => ActionFn(121); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action120::<>(__sym0); + let __nt = super::__action121::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } - pub(crate) fn __reduce447< + pub(crate) fn __reduce459< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = AddOpExpr => ActionFn(121); + // MappingKey = AddOpExpr => ActionFn(122); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action121::<>(__sym0); + let __nt = super::__action122::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } - pub(crate) fn __reduce448< + pub(crate) fn __reduce460< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = MatchNameOrAttr => ActionFn(122); + // MappingKey = MatchNameOrAttr => ActionFn(123); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action122::<>(__sym0); + let __nt = super::__action123::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } - pub(crate) fn __reduce449< + pub(crate) fn __reduce461< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = "None" => ActionFn(1276); + // MappingKey = "None" => ActionFn(1305); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1276::<>(__sym0); + let __nt = super::__action1305::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } - pub(crate) fn __reduce450< + pub(crate) fn __reduce462< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = "True" => ActionFn(1277); + // MappingKey = "True" => ActionFn(1306); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1277::<>(__sym0); + let __nt = super::__action1306::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } - pub(crate) fn __reduce451< + pub(crate) fn __reduce463< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingKey = "False" => ActionFn(1278); + // MappingKey = "False" => ActionFn(1307); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1278::<>(__sym0); + let __nt = super::__action1307::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 166) } - pub(crate) fn __reduce453< + pub(crate) fn __reduce465< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", "}" => ActionFn(1279); + // MappingPattern = "{", "}" => ActionFn(1308); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1279::<>(__sym0, __sym1); + let __nt = super::__action1308::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (2, 167) } - pub(crate) fn __reduce454< + pub(crate) fn __reduce466< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, ",", "}" => ActionFn(1280); + // MappingPattern = "{", OneOrMore, ",", "}" => ActionFn(1309); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant75(__symbols); + let __sym1 = __pop_Variant77(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1280::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1309::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 167) } - pub(crate) fn __reduce455< + pub(crate) fn __reduce467< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, "}" => ActionFn(1281); + // MappingPattern = "{", OneOrMore, "}" => ActionFn(1310); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant75(__symbols); + let __sym1 = __pop_Variant77(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1281::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1310::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (3, 167) } - pub(crate) fn __reduce456< + pub(crate) fn __reduce468< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", "**", Identifier, ",", "}" => ActionFn(1282); + // MappingPattern = "{", "**", Identifier, ",", "}" => ActionFn(1311); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24315,18 +25207,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1282::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1311::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (5, 167) } - pub(crate) fn __reduce457< + pub(crate) fn __reduce469< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", "**", Identifier, "}" => ActionFn(1283); + // MappingPattern = "{", "**", Identifier, "}" => ActionFn(1312); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); @@ -24334,61 +25226,61 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1283::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1312::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (4, 167) } - pub(crate) fn __reduce458< + pub(crate) fn __reduce470< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, ",", "**", Identifier, ",", "}" => ActionFn(1284); + // MappingPattern = "{", OneOrMore, ",", "**", Identifier, ",", "}" => ActionFn(1313); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant75(__symbols); + let __sym1 = __pop_Variant77(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1284::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1313::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (7, 167) } - pub(crate) fn __reduce459< + pub(crate) fn __reduce471< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MappingPattern = "{", OneOrMore, ",", "**", Identifier, "}" => ActionFn(1285); + // MappingPattern = "{", OneOrMore, ",", "**", Identifier, "}" => ActionFn(1314); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); - let __sym1 = __pop_Variant75(__symbols); + let __sym1 = __pop_Variant77(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1285::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1314::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); (6, 167) } - pub(crate) fn __reduce460< + pub(crate) fn __reduce472< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchCase = "case", Patterns, Guard, ":", Suite => ActionFn(1449); + // MatchCase = "case", Patterns, Guard, ":", Suite => ActionFn(1488); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24397,18 +25289,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1449::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant69(__nt), __end)); + let __nt = super::__action1488::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant71(__nt), __end)); (5, 168) } - pub(crate) fn __reduce461< + pub(crate) fn __reduce473< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchCase = "case", Patterns, ":", Suite => ActionFn(1450); + // MatchCase = "case", Patterns, ":", Suite => ActionFn(1489); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -24416,140 +25308,140 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1450::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant69(__nt), __end)); + let __nt = super::__action1489::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant71(__nt), __end)); (4, 168) } - pub(crate) fn __reduce462< + pub(crate) fn __reduce474< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchCase+ = MatchCase => ActionFn(330); - let __sym0 = __pop_Variant69(__symbols); + // MatchCase+ = MatchCase => ActionFn(341); + let __sym0 = __pop_Variant71(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action330::<>(__sym0); - __symbols.push((__start, __Symbol::Variant70(__nt), __end)); + let __nt = super::__action341::<>(__sym0); + __symbols.push((__start, __Symbol::Variant72(__nt), __end)); (1, 169) } - pub(crate) fn __reduce463< + pub(crate) fn __reduce475< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchCase+ = MatchCase+, MatchCase => ActionFn(331); + // MatchCase+ = MatchCase+, MatchCase => ActionFn(342); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant69(__symbols); - let __sym0 = __pop_Variant70(__symbols); + let __sym1 = __pop_Variant71(__symbols); + let __sym0 = __pop_Variant72(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action331::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant70(__nt), __end)); + let __nt = super::__action342::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant72(__nt), __end)); (2, 169) } - pub(crate) fn __reduce464< + pub(crate) fn __reduce476< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchKeywordEntry = Identifier, "=", Pattern => ActionFn(132); + // MatchKeywordEntry = Identifier, "=", Pattern => ActionFn(133); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant33(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action132::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant71(__nt), __end)); + let __nt = super::__action133::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant73(__nt), __end)); (3, 170) } - pub(crate) fn __reduce465< + pub(crate) fn __reduce477< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchMappingEntry = MappingKey, ":", Pattern => ActionFn(127); + // MatchMappingEntry = MappingKey, ":", Pattern => ActionFn(128); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant33(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action127::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant72(__nt), __end)); + let __nt = super::__action128::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant74(__nt), __end)); (3, 171) } - pub(crate) fn __reduce466< + pub(crate) fn __reduce478< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchName = Identifier => ActionFn(1286); + // MatchName = Identifier => ActionFn(1315); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1286::<>(__sym0); + let __nt = super::__action1315::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 172) } - pub(crate) fn __reduce467< + pub(crate) fn __reduce479< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchNameOrAttr = MatchName, ".", Identifier => ActionFn(1287); + // MatchNameOrAttr = MatchName, ".", Identifier => ActionFn(1316); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1287::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1316::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 173) } - pub(crate) fn __reduce468< + pub(crate) fn __reduce480< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchNameOrAttr = MatchNameOrAttr, ".", Identifier => ActionFn(1288); + // MatchNameOrAttr = MatchNameOrAttr, ".", Identifier => ActionFn(1317); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1288::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1317::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 173) } - pub(crate) fn __reduce469< + pub(crate) fn __reduce481< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchStatement = "match", TestOrStarNamedExpr, ":", "\n", Indent, MatchCase+, Dedent => ActionFn(822); + // MatchStatement = "match", TestOrStarNamedExpr, ":", "\n", Indent, MatchCase+, Dedent => ActionFn(838); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant70(__symbols); + let __sym5 = __pop_Variant72(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -24557,21 +25449,21 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action822::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action838::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 174) } - pub(crate) fn __reduce470< + pub(crate) fn __reduce482< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchStatement = "match", TestOrStarNamedExpr, ",", ":", "\n", Indent, MatchCase+, Dedent => ActionFn(823); + // MatchStatement = "match", TestOrStarNamedExpr, ",", ":", "\n", Indent, MatchCase+, Dedent => ActionFn(839); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant70(__symbols); + let __sym6 = __pop_Variant72(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24580,21 +25472,21 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action823::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action839::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 174) } - pub(crate) fn __reduce471< + pub(crate) fn __reduce483< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchStatement = "match", TwoOrMore, ",", ":", "\n", Indent, MatchCase+, Dedent => ActionFn(824); + // MatchStatement = "match", TwoOrMore, ",", ":", "\n", Indent, MatchCase+, Dedent => ActionFn(840); assert!(__symbols.len() >= 8); let __sym7 = __pop_Variant0(__symbols); - let __sym6 = __pop_Variant70(__symbols); + let __sym6 = __pop_Variant72(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -24603,21 +25495,21 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym7.2; - let __nt = super::__action824::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); + let __nt = super::__action840::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (8, 174) } - pub(crate) fn __reduce472< + pub(crate) fn __reduce484< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MatchStatement = "match", TwoOrMore, ":", "\n", Indent, MatchCase+, Dedent => ActionFn(825); + // MatchStatement = "match", TwoOrMore, ":", "\n", Indent, MatchCase+, Dedent => ActionFn(841); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); - let __sym5 = __pop_Variant70(__symbols); + let __sym5 = __pop_Variant72(__symbols); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -24625,1311 +25517,1344 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action825::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action841::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (7, 174) } - pub(crate) fn __reduce473< + pub(crate) fn __reduce485< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MulOp = "*" => ActionFn(186); + // MulOp = "*" => ActionFn(193); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action186::<>(__sym0); + let __nt = super::__action193::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 175) } - pub(crate) fn __reduce474< + pub(crate) fn __reduce486< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MulOp = "/" => ActionFn(187); + // MulOp = "/" => ActionFn(194); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action187::<>(__sym0); + let __nt = super::__action194::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 175) } - pub(crate) fn __reduce475< + pub(crate) fn __reduce487< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MulOp = "//" => ActionFn(188); + // MulOp = "//" => ActionFn(195); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action188::<>(__sym0); + let __nt = super::__action195::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 175) } - pub(crate) fn __reduce476< + pub(crate) fn __reduce488< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MulOp = "%" => ActionFn(189); + // MulOp = "%" => ActionFn(196); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action189::<>(__sym0); + let __nt = super::__action196::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 175) } - pub(crate) fn __reduce477< + pub(crate) fn __reduce489< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // MulOp = "@" => ActionFn(190); + // MulOp = "@" => ActionFn(197); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action190::<>(__sym0); + let __nt = super::__action197::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); (1, 175) } - pub(crate) fn __reduce478< + pub(crate) fn __reduce490< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NamedExpression = Identifier, ":=", Test<"all"> => ActionFn(1289); + // NamedExpression = Identifier, ":=", Test<"all"> => ActionFn(1318); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1289::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1318::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (3, 176) } - pub(crate) fn __reduce479< + pub(crate) fn __reduce491< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NamedExpressionTest = NamedExpression => ActionFn(168); + // NamedExpressionTest = NamedExpression => ActionFn(175); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action168::<>(__sym0); + let __nt = super::__action175::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 177) } - pub(crate) fn __reduce480< + pub(crate) fn __reduce492< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NamedExpressionTest = Test<"all"> => ActionFn(169); + // NamedExpressionTest = Test<"all"> => ActionFn(176); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action169::<>(__sym0); + let __nt = super::__action176::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 177) } - pub(crate) fn __reduce481< + pub(crate) fn __reduce493< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NamedOrStarExpr = NamedExpression => ActionFn(33); + // NamedOrStarExpr = NamedExpression => ActionFn(34); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action33::<>(__sym0); + let __nt = super::__action34::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 178) } - pub(crate) fn __reduce482< + pub(crate) fn __reduce494< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NamedOrStarExpr = StarExpr => ActionFn(34); + // NamedOrStarExpr = StarExpr => ActionFn(35); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action34::<>(__sym0); + let __nt = super::__action35::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 178) } - pub(crate) fn __reduce483< + pub(crate) fn __reduce495< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NonlocalStatement = "nonlocal", OneOrMore => ActionFn(1290); + // NonlocalStatement = "nonlocal", OneOrMore => ActionFn(1319); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant73(__symbols); + let __sym1 = __pop_Variant75(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1290::<>(__sym0, __sym1); + let __nt = super::__action1319::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); (2, 179) } - pub(crate) fn __reduce484< + pub(crate) fn __reduce496< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NotTest<"all"> = "not", NotTest<"all"> => ActionFn(1291); + // NotTest<"all"> = "not", NotTest<"all"> => ActionFn(1320); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1291::<>(__sym0, __sym1); + let __nt = super::__action1320::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 180) } - pub(crate) fn __reduce485< + pub(crate) fn __reduce497< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NotTest<"all"> = Comparison<"all"> => ActionFn(432); + // NotTest<"all"> = Comparison<"all"> => ActionFn(443); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action432::<>(__sym0); + let __nt = super::__action443::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 180) } - pub(crate) fn __reduce486< + pub(crate) fn __reduce498< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NotTest<"no-withitems"> = "not", NotTest<"all"> => ActionFn(1292); + // NotTest<"no-withitems"> = "not", NotTest<"all"> => ActionFn(1321); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1292::<>(__sym0, __sym1); + let __nt = super::__action1321::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (2, 181) } - pub(crate) fn __reduce487< + pub(crate) fn __reduce499< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // NotTest<"no-withitems"> = Comparison<"no-withitems"> => ActionFn(477); + // NotTest<"no-withitems"> = Comparison<"no-withitems"> => ActionFn(488); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action477::<>(__sym0); + let __nt = super::__action488::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); (1, 181) } - pub(crate) fn __reduce488< + pub(crate) fn __reduce500< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = DictElement => ActionFn(240); - let __sym0 = __pop_Variant55(__symbols); + // OneOrMore = DictElement => ActionFn(247); + let __sym0 = __pop_Variant57(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action240::<>(__sym0); - __symbols.push((__start, __Symbol::Variant57(__nt), __end)); + let __nt = super::__action247::<>(__sym0); + __symbols.push((__start, __Symbol::Variant59(__nt), __end)); (1, 182) } - pub(crate) fn __reduce489< + pub(crate) fn __reduce501< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = OneOrMore, ",", DictElement => ActionFn(241); + // OneOrMore = OneOrMore, ",", DictElement => ActionFn(248); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant55(__symbols); + let __sym2 = __pop_Variant57(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant57(__symbols); + let __sym0 = __pop_Variant59(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action241::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant57(__nt), __end)); + let __nt = super::__action248::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant59(__nt), __end)); (3, 182) } - pub(crate) fn __reduce490< + pub(crate) fn __reduce502< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = ExpressionOrStarExpression => ActionFn(235); + // OneOrMore = ExpressionOrStarExpression => ActionFn(242); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action235::<>(__sym0); + let __nt = super::__action242::<>(__sym0); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (1, 183) } - pub(crate) fn __reduce491< + pub(crate) fn __reduce503< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = OneOrMore, ",", ExpressionOrStarExpression => ActionFn(236); + // OneOrMore = OneOrMore, ",", ExpressionOrStarExpression => ActionFn(243); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action236::<>(__sym0, __sym1, __sym2); + let __nt = super::__action243::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (3, 183) } - pub(crate) fn __reduce492< + pub(crate) fn __reduce504< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = Identifier => ActionFn(335); + // OneOrMore = Identifier => ActionFn(346); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action335::<>(__sym0); - __symbols.push((__start, __Symbol::Variant73(__nt), __end)); + let __nt = super::__action346::<>(__sym0); + __symbols.push((__start, __Symbol::Variant75(__nt), __end)); (1, 184) } - pub(crate) fn __reduce493< + pub(crate) fn __reduce505< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = OneOrMore, ",", Identifier => ActionFn(336); + // OneOrMore = OneOrMore, ",", Identifier => ActionFn(347); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant73(__symbols); + let __sym0 = __pop_Variant75(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action336::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant73(__nt), __end)); + let __nt = super::__action347::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant75(__nt), __end)); (3, 184) } - pub(crate) fn __reduce494< + pub(crate) fn __reduce506< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = DottedName, "as", Identifier => ActionFn(1498); + // OneOrMore> = DottedName, "as", Identifier => ActionFn(1537); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1498::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1537::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 185) } - pub(crate) fn __reduce495< + pub(crate) fn __reduce507< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = DottedName => ActionFn(1499); + // OneOrMore> = DottedName => ActionFn(1538); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1499::<>(__sym0); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1538::<>(__sym0); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 185) } - pub(crate) fn __reduce496< + pub(crate) fn __reduce508< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", DottedName, "as", Identifier => ActionFn(1500); + // OneOrMore> = OneOrMore>, ",", DottedName, "as", Identifier => ActionFn(1539); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant65(__symbols); + let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1500::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1539::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (5, 185) } - pub(crate) fn __reduce497< + pub(crate) fn __reduce509< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", DottedName => ActionFn(1501); + // OneOrMore> = OneOrMore>, ",", DottedName => ActionFn(1540); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant65(__symbols); + let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1501::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1540::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 185) } - pub(crate) fn __reduce498< + pub(crate) fn __reduce510< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = Identifier, "as", Identifier => ActionFn(1502); + // OneOrMore> = Identifier, "as", Identifier => ActionFn(1541); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1502::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1541::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 186) } - pub(crate) fn __reduce499< + pub(crate) fn __reduce511< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = Identifier => ActionFn(1503); + // OneOrMore> = Identifier => ActionFn(1542); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1503::<>(__sym0); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1542::<>(__sym0); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (1, 186) } - pub(crate) fn __reduce500< + pub(crate) fn __reduce512< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", Identifier, "as", Identifier => ActionFn(1504); + // OneOrMore> = OneOrMore>, ",", Identifier, "as", Identifier => ActionFn(1543); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant23(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant65(__symbols); + let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1504::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1543::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (5, 186) } - pub(crate) fn __reduce501< + pub(crate) fn __reduce513< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", Identifier => ActionFn(1505); + // OneOrMore> = OneOrMore>, ",", Identifier => ActionFn(1544); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant23(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant65(__symbols); + let __sym0 = __pop_Variant67(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1505::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant65(__nt), __end)); + let __nt = super::__action1544::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant67(__nt), __end)); (3, 186) } - pub(crate) fn __reduce502< + pub(crate) fn __reduce514< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = MatchKeywordEntry => ActionFn(308); - let __sym0 = __pop_Variant71(__symbols); + // OneOrMore = MatchKeywordEntry => ActionFn(319); + let __sym0 = __pop_Variant73(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action308::<>(__sym0); - __symbols.push((__start, __Symbol::Variant74(__nt), __end)); + let __nt = super::__action319::<>(__sym0); + __symbols.push((__start, __Symbol::Variant76(__nt), __end)); (1, 187) } - pub(crate) fn __reduce503< + pub(crate) fn __reduce515< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = OneOrMore, ",", MatchKeywordEntry => ActionFn(309); + // OneOrMore = OneOrMore, ",", MatchKeywordEntry => ActionFn(320); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant71(__symbols); + let __sym2 = __pop_Variant73(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant74(__symbols); + let __sym0 = __pop_Variant76(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action309::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant74(__nt), __end)); + let __nt = super::__action320::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant76(__nt), __end)); (3, 187) } - pub(crate) fn __reduce504< + pub(crate) fn __reduce516< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = MatchMappingEntry => ActionFn(312); - let __sym0 = __pop_Variant72(__symbols); + // OneOrMore = MatchMappingEntry => ActionFn(323); + let __sym0 = __pop_Variant74(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action312::<>(__sym0); - __symbols.push((__start, __Symbol::Variant75(__nt), __end)); + let __nt = super::__action323::<>(__sym0); + __symbols.push((__start, __Symbol::Variant77(__nt), __end)); (1, 188) } - pub(crate) fn __reduce505< + pub(crate) fn __reduce517< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = OneOrMore, ",", MatchMappingEntry => ActionFn(313); + // OneOrMore = OneOrMore, ",", MatchMappingEntry => ActionFn(324); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant72(__symbols); + let __sym2 = __pop_Variant74(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant75(__symbols); + let __sym0 = __pop_Variant77(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action313::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant75(__nt), __end)); + let __nt = super::__action324::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant77(__nt), __end)); (3, 188) } - pub(crate) fn __reduce506< + pub(crate) fn __reduce518< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = ParameterDef => ActionFn(446); + // OneOrMore> = ParameterDef => ActionFn(457); let __sym0 = __pop_Variant11(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action446::<>(__sym0); - __symbols.push((__start, __Symbol::Variant76(__nt), __end)); + let __nt = super::__action457::<>(__sym0); + __symbols.push((__start, __Symbol::Variant78(__nt), __end)); (1, 189) } - pub(crate) fn __reduce507< + pub(crate) fn __reduce519< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", ParameterDef => ActionFn(447); + // OneOrMore> = OneOrMore>, ",", ParameterDef => ActionFn(458); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant11(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action447::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant76(__nt), __end)); + let __nt = super::__action458::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant78(__nt), __end)); (3, 189) } - pub(crate) fn __reduce508< + pub(crate) fn __reduce520< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = ParameterDef => ActionFn(435); + // OneOrMore> = ParameterDef => ActionFn(446); let __sym0 = __pop_Variant11(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action435::<>(__sym0); - __symbols.push((__start, __Symbol::Variant76(__nt), __end)); + let __nt = super::__action446::<>(__sym0); + __symbols.push((__start, __Symbol::Variant78(__nt), __end)); (1, 190) } - pub(crate) fn __reduce509< + pub(crate) fn __reduce521< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", ParameterDef => ActionFn(436); + // OneOrMore> = OneOrMore>, ",", ParameterDef => ActionFn(447); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant11(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action436::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant76(__nt), __end)); + let __nt = super::__action447::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant78(__nt), __end)); (3, 190) } - pub(crate) fn __reduce510< + pub(crate) fn __reduce522< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = Pattern => ActionFn(310); + // OneOrMore = Pattern => ActionFn(321); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action310::<>(__sym0); + let __nt = super::__action321::<>(__sym0); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (1, 191) } - pub(crate) fn __reduce511< + pub(crate) fn __reduce523< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = OneOrMore, ",", Pattern => ActionFn(311); + // OneOrMore = OneOrMore, ",", Pattern => ActionFn(322); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant33(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action311::<>(__sym0, __sym1, __sym2); + let __nt = super::__action322::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); (3, 191) } - pub(crate) fn __reduce512< + pub(crate) fn __reduce524< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = Test<"all"> => ActionFn(275); + // OneOrMore> = Test<"all"> => ActionFn(286); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action275::<>(__sym0); + let __nt = super::__action286::<>(__sym0); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (1, 192) } - pub(crate) fn __reduce513< + pub(crate) fn __reduce525< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore> = OneOrMore>, ",", Test<"all"> => ActionFn(276); + // OneOrMore> = OneOrMore>, ",", Test<"all"> => ActionFn(287); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action276::<>(__sym0, __sym1, __sym2); + let __nt = super::__action287::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (3, 192) } - pub(crate) fn __reduce514< + pub(crate) fn __reduce526< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = TestOrStarExpr => ActionFn(412); + // OneOrMore = TestOrStarExpr => ActionFn(423); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action412::<>(__sym0); + let __nt = super::__action423::<>(__sym0); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (1, 193) } - pub(crate) fn __reduce515< + pub(crate) fn __reduce527< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = OneOrMore, ",", TestOrStarExpr => ActionFn(413); + // OneOrMore = OneOrMore, ",", TestOrStarExpr => ActionFn(424); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action413::<>(__sym0, __sym1, __sym2); + let __nt = super::__action424::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (3, 193) } - pub(crate) fn __reduce516< + pub(crate) fn __reduce528< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = TestOrStarNamedExpr => ActionFn(242); + // OneOrMore = TestOrStarNamedExpr => ActionFn(249); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action242::<>(__sym0); + let __nt = super::__action249::<>(__sym0); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (1, 194) } - pub(crate) fn __reduce517< + pub(crate) fn __reduce529< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OneOrMore = OneOrMore, ",", TestOrStarNamedExpr => ActionFn(243); + // OneOrMore = OneOrMore, ",", TestOrStarNamedExpr => ActionFn(250); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action243::<>(__sym0, __sym1, __sym2); + let __nt = super::__action250::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); (3, 194) } - pub(crate) fn __reduce518< + pub(crate) fn __reduce530< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // OneOrMore = TypeParam => ActionFn(261); + let __sym0 = __pop_Variant88(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = super::__action261::<>(__sym0); + __symbols.push((__start, __Symbol::Variant79(__nt), __end)); + (1, 195) + } + pub(crate) fn __reduce531< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // OneOrMore = OneOrMore, ",", TypeParam => ActionFn(262); + assert!(__symbols.len() >= 3); + let __sym2 = __pop_Variant88(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant79(__symbols); + let __start = __sym0.0; + let __end = __sym2.2; + let __nt = super::__action262::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant79(__nt), __end)); + (3, 195) + } + pub(crate) fn __reduce532< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrPattern = ClosedPattern => ActionFn(90); + // OrPattern = ClosedPattern => ActionFn(91); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action90::<>(__sym0); + let __nt = super::__action91::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (1, 195) + (1, 196) } - pub(crate) fn __reduce519< + pub(crate) fn __reduce533< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrPattern = TwoOrMore => ActionFn(1293); + // OrPattern = TwoOrMore => ActionFn(1322); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1293::<>(__sym0); + let __nt = super::__action1322::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (1, 195) + (1, 196) } - pub(crate) fn __reduce520< + pub(crate) fn __reduce534< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrTest<"all"> = (> "or")+, AndTest<"all"> => ActionFn(1294); + // OrTest<"all"> = (> "or")+, AndTest<"all"> => ActionFn(1323); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1294::<>(__sym0, __sym1); + let __nt = super::__action1323::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (2, 196) + (2, 197) } - pub(crate) fn __reduce521< + pub(crate) fn __reduce535< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrTest<"all"> = AndTest<"all"> => ActionFn(231); + // OrTest<"all"> = AndTest<"all"> => ActionFn(238); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action231::<>(__sym0); + let __nt = super::__action238::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 196) + (1, 197) } - pub(crate) fn __reduce522< + pub(crate) fn __reduce536< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrTest<"no-withitems"> = (> "or")+, AndTest<"all"> => ActionFn(1295); + // OrTest<"no-withitems"> = (> "or")+, AndTest<"all"> => ActionFn(1324); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant17(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1295::<>(__sym0, __sym1); + let __nt = super::__action1324::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (2, 197) + (2, 198) } - pub(crate) fn __reduce523< + pub(crate) fn __reduce537< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // OrTest<"no-withitems"> = AndTest<"no-withitems"> => ActionFn(460); + // OrTest<"no-withitems"> = AndTest<"no-withitems"> => ActionFn(471); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action460::<>(__sym0); + let __nt = super::__action471::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 197) + (1, 198) } - pub(crate) fn __reduce524< + pub(crate) fn __reduce538< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDef = TypedParameter => ActionFn(453); + // ParameterDef = TypedParameter => ActionFn(464); let __sym0 = __pop_Variant11(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action453::<>(__sym0); + let __nt = super::__action464::<>(__sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (1, 198) + (1, 199) } - pub(crate) fn __reduce525< + pub(crate) fn __reduce539< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDef = TypedParameter, "=", Test<"all"> => ActionFn(454); + // ParameterDef = TypedParameter, "=", Test<"all"> => ActionFn(1325); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant11(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action454::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1325::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (3, 198) + (3, 199) } - pub(crate) fn __reduce526< + pub(crate) fn __reduce540< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDef = UntypedParameter => ActionFn(442); + // ParameterDef = UntypedParameter => ActionFn(453); let __sym0 = __pop_Variant11(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action442::<>(__sym0); + let __nt = super::__action453::<>(__sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (1, 199) + (1, 200) } - pub(crate) fn __reduce527< + pub(crate) fn __reduce541< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDef = UntypedParameter, "=", Test<"all"> => ActionFn(443); + // ParameterDef = UntypedParameter, "=", Test<"all"> => ActionFn(1326); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant11(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action443::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1326::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (3, 199) + (3, 200) } - pub(crate) fn __reduce528< + pub(crate) fn __reduce542< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDefs = OneOrMore> => ActionFn(400); - let __sym0 = __pop_Variant76(__symbols); + // ParameterDefs = OneOrMore> => ActionFn(411); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action400::<>(__sym0); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); - (1, 200) + let __nt = super::__action411::<>(__sym0); + __symbols.push((__start, __Symbol::Variant80(__nt), __end)); + (1, 201) } - pub(crate) fn __reduce529< + pub(crate) fn __reduce543< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDefs = OneOrMore>, ",", "/" => ActionFn(660); + // ParameterDefs = OneOrMore>, ",", "/" => ActionFn(673); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action660::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); - (3, 200) + let __nt = super::__action673::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant80(__nt), __end)); + (3, 201) } - pub(crate) fn __reduce530< + pub(crate) fn __reduce544< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDefs = OneOrMore>, ",", "/", ("," >)+ => ActionFn(661); + // ParameterDefs = OneOrMore>, ",", "/", ("," >)+ => ActionFn(674); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action661::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); - (4, 200) + let __nt = super::__action674::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant80(__nt), __end)); + (4, 201) } - pub(crate) fn __reduce531< + pub(crate) fn __reduce545< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDefs = OneOrMore> => ActionFn(408); - let __sym0 = __pop_Variant76(__symbols); + // ParameterDefs = OneOrMore> => ActionFn(419); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action408::<>(__sym0); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); - (1, 201) + let __nt = super::__action419::<>(__sym0); + __symbols.push((__start, __Symbol::Variant80(__nt), __end)); + (1, 202) } - pub(crate) fn __reduce532< + pub(crate) fn __reduce546< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDefs = OneOrMore>, ",", "/" => ActionFn(668); + // ParameterDefs = OneOrMore>, ",", "/" => ActionFn(681); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action668::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); - (3, 201) + let __nt = super::__action681::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant80(__nt), __end)); + (3, 202) } - pub(crate) fn __reduce533< + pub(crate) fn __reduce547< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterDefs = OneOrMore>, ",", "/", ("," >)+ => ActionFn(669); + // ParameterDefs = OneOrMore>, ",", "/", ("," >)+ => ActionFn(682); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant12(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); - let __sym0 = __pop_Variant76(__symbols); + let __sym0 = __pop_Variant78(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action669::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant77(__nt), __end)); - (4, 201) + let __nt = super::__action682::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant80(__nt), __end)); + (4, 202) } - pub(crate) fn __reduce610< + pub(crate) fn __reduce624< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter, "," => ActionFn(1332); + // ParameterList = KwargParameter, "," => ActionFn(1363); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1332::<>(__sym0, __sym1); + let __nt = super::__action1363::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 202) + (2, 203) } - pub(crate) fn __reduce611< + pub(crate) fn __reduce625< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter => ActionFn(1333); + // ParameterList = KwargParameter => ActionFn(1364); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1333::<>(__sym0); + let __nt = super::__action1364::<>(__sym0); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (1, 202) + (1, 203) } - pub(crate) fn __reduce688< + pub(crate) fn __reduce702< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter, "," => ActionFn(1370); + // ParameterList = KwargParameter, "," => ActionFn(1401); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1370::<>(__sym0, __sym1); + let __nt = super::__action1401::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (2, 203) + (2, 204) } - pub(crate) fn __reduce689< + pub(crate) fn __reduce703< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList = KwargParameter => ActionFn(1371); + // ParameterList = KwargParameter => ActionFn(1402); let __sym0 = __pop_Variant9(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1371::<>(__sym0); + let __nt = super::__action1402::<>(__sym0); __symbols.push((__start, __Symbol::Variant44(__nt), __end)); - (1, 203) + (1, 204) } - pub(crate) fn __reduce690< + pub(crate) fn __reduce704< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList? = ParameterList => ActionFn(248); + // ParameterList? = ParameterList => ActionFn(255); let __sym0 = __pop_Variant44(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action248::<>(__sym0); + let __nt = super::__action255::<>(__sym0); __symbols.push((__start, __Symbol::Variant45(__nt), __end)); - (1, 204) + (1, 205) } - pub(crate) fn __reduce691< + pub(crate) fn __reduce705< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ParameterList? = => ActionFn(249); + // ParameterList? = => ActionFn(256); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action249::<>(&__start, &__end); + let __nt = super::__action256::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant45(__nt), __end)); - (0, 204) + (0, 205) } - pub(crate) fn __reduce710< + pub(crate) fn __reduce724< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // PassStatement = "pass" => ActionFn(1373); + // PassStatement = "pass" => ActionFn(1404); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1373::<>(__sym0); + let __nt = super::__action1404::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 208) + (1, 209) } - pub(crate) fn __reduce711< + pub(crate) fn __reduce725< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Pattern = AsPattern => ActionFn(87); + // Pattern = AsPattern => ActionFn(88); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action87::<>(__sym0); + let __nt = super::__action88::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (1, 209) + (1, 210) } - pub(crate) fn __reduce712< + pub(crate) fn __reduce726< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Pattern = OrPattern => ActionFn(88); + // Pattern = OrPattern => ActionFn(89); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action88::<>(__sym0); + let __nt = super::__action89::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (1, 209) + (1, 210) } - pub(crate) fn __reduce713< + pub(crate) fn __reduce727< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Pattern? = Pattern => ActionFn(383); + // Pattern? = Pattern => ActionFn(394); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action383::<>(__sym0); - __symbols.push((__start, __Symbol::Variant78(__nt), __end)); - (1, 210) + let __nt = super::__action394::<>(__sym0); + __symbols.push((__start, __Symbol::Variant81(__nt), __end)); + (1, 211) } - pub(crate) fn __reduce714< + pub(crate) fn __reduce728< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Pattern? = => ActionFn(384); + // Pattern? = => ActionFn(395); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action384::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant78(__nt), __end)); - (0, 210) + let __nt = super::__action395::<>(&__start, &__end); + __symbols.push((__start, __Symbol::Variant81(__nt), __end)); + (0, 211) } - pub(crate) fn __reduce715< + pub(crate) fn __reduce729< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = Pattern, "," => ActionFn(1374); + // Patterns = Pattern, "," => ActionFn(1405); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1374::<>(__sym0, __sym1); + let __nt = super::__action1405::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (2, 211) + (2, 212) } - pub(crate) fn __reduce716< + pub(crate) fn __reduce730< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = TwoOrMore, "," => ActionFn(1375); + // Patterns = TwoOrMore, "," => ActionFn(1406); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1375::<>(__sym0, __sym1); + let __nt = super::__action1406::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (2, 211) + (2, 212) } - pub(crate) fn __reduce717< + pub(crate) fn __reduce731< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = TwoOrMore => ActionFn(1376); + // Patterns = TwoOrMore => ActionFn(1407); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1376::<>(__sym0); + let __nt = super::__action1407::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (1, 211) + (1, 212) } - pub(crate) fn __reduce718< + pub(crate) fn __reduce732< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Patterns = Pattern => ActionFn(86); + // Patterns = Pattern => ActionFn(87); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action86::<>(__sym0); + let __nt = super::__action87::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (1, 211) + (1, 212) } - pub(crate) fn __reduce719< + pub(crate) fn __reduce733< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Power<"all"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1377); + // Power<"all"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1408); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1377::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1408::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 212) + (3, 213) } - pub(crate) fn __reduce720< + pub(crate) fn __reduce734< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Power<"all"> = AtomExpr<"all"> => ActionFn(489); + // Power<"all"> = AtomExpr<"all"> => ActionFn(500); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action489::<>(__sym0); + let __nt = super::__action500::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 212) + (1, 213) } - pub(crate) fn __reduce721< + pub(crate) fn __reduce735< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Power<"no-withitems"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1378); + // Power<"no-withitems"> = AtomExpr<"all">, "**", Factor<"all"> => ActionFn(1409); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1378::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1409::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 213) + (3, 214) } - pub(crate) fn __reduce722< + pub(crate) fn __reduce736< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Power<"no-withitems"> = AtomExpr<"no-withitems"> => ActionFn(538); + // Power<"no-withitems"> = AtomExpr<"no-withitems"> => ActionFn(549); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action538::<>(__sym0); + let __nt = super::__action549::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 213) + (1, 214) } - pub(crate) fn __reduce723< + pub(crate) fn __reduce737< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -25941,9 +26866,9 @@ mod __parse__Top { let __end = __start.clone(); let __nt = super::__action4::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (0, 214) + (0, 215) } - pub(crate) fn __reduce724< + pub(crate) fn __reduce738< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -25958,16 +26883,16 @@ mod __parse__Top { let __end = __sym1.2; let __nt = super::__action5::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (2, 214) + (2, 215) } - pub(crate) fn __reduce725< + pub(crate) fn __reduce739< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Program = Program, SmallStatement, ";", "\n" => ActionFn(1132); + // Program = Program, SmallStatement, ";", "\n" => ActionFn(1157); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -25975,18 +26900,18 @@ mod __parse__Top { let __sym0 = __pop_Variant25(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1132::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1157::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (4, 214) + (4, 215) } - pub(crate) fn __reduce726< + pub(crate) fn __reduce740< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Program = Program, ( ";")+, SmallStatement, ";", "\n" => ActionFn(1133); + // Program = Program, ( ";")+, SmallStatement, ";", "\n" => ActionFn(1158); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -25995,36 +26920,36 @@ mod __parse__Top { let __sym0 = __pop_Variant25(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1133::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1158::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (5, 214) + (5, 215) } - pub(crate) fn __reduce727< + pub(crate) fn __reduce741< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Program = Program, SmallStatement, "\n" => ActionFn(1134); + // Program = Program, SmallStatement, "\n" => ActionFn(1159); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); let __sym0 = __pop_Variant25(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1134::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1159::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (3, 214) + (3, 215) } - pub(crate) fn __reduce728< + pub(crate) fn __reduce742< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Program = Program, ( ";")+, SmallStatement, "\n" => ActionFn(1135); + // Program = Program, ( ";")+, SmallStatement, "\n" => ActionFn(1160); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant35(__symbols); @@ -26032,11 +26957,11 @@ mod __parse__Top { let __sym0 = __pop_Variant25(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1135::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1160::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (4, 214) + (4, 215) } - pub(crate) fn __reduce729< + pub(crate) fn __reduce743< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26051,31 +26976,31 @@ mod __parse__Top { let __end = __sym1.2; let __nt = super::__action7::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (2, 214) + (2, 215) } - pub(crate) fn __reduce730< + pub(crate) fn __reduce744< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise" => ActionFn(1379); + // RaiseStatement = "raise" => ActionFn(1410); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1379::<>(__sym0); + let __nt = super::__action1410::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 215) + (1, 216) } - pub(crate) fn __reduce731< + pub(crate) fn __reduce745< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise", Test<"all">, "from", Test<"all"> => ActionFn(1380); + // RaiseStatement = "raise", Test<"all">, "from", Test<"all"> => ActionFn(1411); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26083,70 +27008,70 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1380::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1411::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (4, 215) + (4, 216) } - pub(crate) fn __reduce732< + pub(crate) fn __reduce746< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // RaiseStatement = "raise", Test<"all"> => ActionFn(1381); + // RaiseStatement = "raise", Test<"all"> => ActionFn(1412); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1381::<>(__sym0, __sym1); + let __nt = super::__action1412::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (2, 215) + (2, 216) } - pub(crate) fn __reduce733< + pub(crate) fn __reduce747< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", Pattern, ")" => ActionFn(1382); + // SequencePattern = "(", Pattern, ")" => ActionFn(1413); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1382::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1413::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (3, 216) + (3, 217) } - pub(crate) fn __reduce734< + pub(crate) fn __reduce748< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ")" => ActionFn(1383); + // SequencePattern = "(", ")" => ActionFn(1414); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1383::<>(__sym0, __sym1); + let __nt = super::__action1414::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (2, 216) + (2, 217) } - pub(crate) fn __reduce735< + pub(crate) fn __reduce749< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", Pattern, ",", ")" => ActionFn(1384); + // SequencePattern = "(", Pattern, ",", ")" => ActionFn(1415); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26154,18 +27079,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1384::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1415::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (4, 216) + (4, 217) } - pub(crate) fn __reduce736< + pub(crate) fn __reduce750< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ( ",")+, Pattern, ",", ")" => ActionFn(1385); + // SequencePattern = "(", ( ",")+, Pattern, ",", ")" => ActionFn(1416); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -26174,18 +27099,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1385::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1416::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (5, 216) + (5, 217) } - pub(crate) fn __reduce737< + pub(crate) fn __reduce751< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "(", ( ",")+, Pattern, ")" => ActionFn(1386); + // SequencePattern = "(", ( ",")+, Pattern, ")" => ActionFn(1417); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant33(__symbols); @@ -26193,53 +27118,53 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1386::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1417::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (4, 216) + (4, 217) } - pub(crate) fn __reduce738< + pub(crate) fn __reduce752< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", Pattern, "]" => ActionFn(1470); + // SequencePattern = "[", Pattern, "]" => ActionFn(1509); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant33(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1470::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1509::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (3, 216) + (3, 217) } - pub(crate) fn __reduce739< + pub(crate) fn __reduce753< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", "]" => ActionFn(1471); + // SequencePattern = "[", "]" => ActionFn(1510); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1471::<>(__sym0, __sym1); + let __nt = super::__action1510::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (2, 216) + (2, 217) } - pub(crate) fn __reduce740< + pub(crate) fn __reduce754< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", ( ",")+, Pattern, "]" => ActionFn(1472); + // SequencePattern = "[", ( ",")+, Pattern, "]" => ActionFn(1511); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant33(__symbols); @@ -26247,164 +27172,164 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1472::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1511::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (4, 216) + (4, 217) } - pub(crate) fn __reduce741< + pub(crate) fn __reduce755< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SequencePattern = "[", ( ",")+, "]" => ActionFn(1473); + // SequencePattern = "[", ( ",")+, "]" => ActionFn(1512); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant34(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1473::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1512::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (3, 216) + (3, 217) } - pub(crate) fn __reduce742< + pub(crate) fn __reduce756< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SetLiteralValues = OneOrMore, "," => ActionFn(621); + // SetLiteralValues = OneOrMore, "," => ActionFn(632); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action621::<>(__sym0, __sym1); + let __nt = super::__action632::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); - (2, 217) + (2, 218) } - pub(crate) fn __reduce743< + pub(crate) fn __reduce757< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SetLiteralValues = OneOrMore => ActionFn(622); + // SetLiteralValues = OneOrMore => ActionFn(633); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action622::<>(__sym0); + let __nt = super::__action633::<>(__sym0); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); - (1, 217) + (1, 218) } - pub(crate) fn __reduce744< + pub(crate) fn __reduce758< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftExpression<"all"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1388); + // ShiftExpression<"all"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1419); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1388::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1419::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 218) + (3, 219) } - pub(crate) fn __reduce745< + pub(crate) fn __reduce759< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftExpression<"all"> = ArithmeticExpression<"all"> => ActionFn(468); + // ShiftExpression<"all"> = ArithmeticExpression<"all"> => ActionFn(479); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action468::<>(__sym0); + let __nt = super::__action479::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 218) + (1, 219) } - pub(crate) fn __reduce746< + pub(crate) fn __reduce760< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftExpression<"no-withitems"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1389); + // ShiftExpression<"no-withitems"> = ShiftExpression<"all">, ShiftOp, ArithmeticExpression<"all"> => ActionFn(1420); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1389::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1420::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 219) + (3, 220) } - pub(crate) fn __reduce747< + pub(crate) fn __reduce761< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftExpression<"no-withitems"> = ArithmeticExpression<"no-withitems"> => ActionFn(495); + // ShiftExpression<"no-withitems"> = ArithmeticExpression<"no-withitems"> => ActionFn(506); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action495::<>(__sym0); + let __nt = super::__action506::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 219) + (1, 220) } - pub(crate) fn __reduce748< + pub(crate) fn __reduce762< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftOp = "<<" => ActionFn(182); + // ShiftOp = "<<" => ActionFn(189); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action182::<>(__sym0); + let __nt = super::__action189::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); - (1, 220) + (1, 221) } - pub(crate) fn __reduce749< + pub(crate) fn __reduce763< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ShiftOp = ">>" => ActionFn(183); + // ShiftOp = ">>" => ActionFn(190); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action183::<>(__sym0); + let __nt = super::__action190::<>(__sym0); __symbols.push((__start, __Symbol::Variant47(__nt), __end)); - (1, 220) + (1, 221) } - pub(crate) fn __reduce750< + pub(crate) fn __reduce764< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1476); + // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1515); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -26413,18 +27338,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1476::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant79(__nt), __end)); - (5, 221) + let __nt = super::__action1515::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant82(__nt), __end)); + (5, 222) } - pub(crate) fn __reduce751< + pub(crate) fn __reduce765< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1477); + // SingleForComprehension = "async", "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1516); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant17(__symbols); let __sym4 = __pop_Variant15(__symbols); @@ -26434,18 +27359,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1477::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); - __symbols.push((__start, __Symbol::Variant79(__nt), __end)); - (6, 221) + let __nt = super::__action1516::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + __symbols.push((__start, __Symbol::Variant82(__nt), __end)); + (6, 222) } - pub(crate) fn __reduce752< + pub(crate) fn __reduce766< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1478); + // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all"> => ActionFn(1517); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant15(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26453,18 +27378,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1478::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant79(__nt), __end)); - (4, 221) + let __nt = super::__action1517::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant82(__nt), __end)); + (4, 222) } - pub(crate) fn __reduce753< + pub(crate) fn __reduce767< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1479); + // SingleForComprehension = "for", ExpressionList, "in", OrTest<"all">, ComprehensionIf+ => ActionFn(1518); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant17(__symbols); let __sym3 = __pop_Variant15(__symbols); @@ -26473,104 +27398,104 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1479::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant79(__nt), __end)); - (5, 221) + let __nt = super::__action1518::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant82(__nt), __end)); + (5, 222) } - pub(crate) fn __reduce754< + pub(crate) fn __reduce768< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension+ = SingleForComprehension => ActionFn(232); - let __sym0 = __pop_Variant79(__symbols); + // SingleForComprehension+ = SingleForComprehension => ActionFn(239); + let __sym0 = __pop_Variant82(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action232::<>(__sym0); - __symbols.push((__start, __Symbol::Variant80(__nt), __end)); - (1, 222) + let __nt = super::__action239::<>(__sym0); + __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + (1, 223) } - pub(crate) fn __reduce755< + pub(crate) fn __reduce769< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SingleForComprehension+ = SingleForComprehension+, SingleForComprehension => ActionFn(233); + // SingleForComprehension+ = SingleForComprehension+, SingleForComprehension => ActionFn(240); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant79(__symbols); - let __sym0 = __pop_Variant80(__symbols); + let __sym1 = __pop_Variant82(__symbols); + let __sym0 = __pop_Variant83(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action233::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant80(__nt), __end)); - (2, 222) + let __nt = super::__action240::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant83(__nt), __end)); + (2, 223) } - pub(crate) fn __reduce756< + pub(crate) fn __reduce770< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SliceOp = ":", Test<"all"> => ActionFn(1638); + // SliceOp = ":", Test<"all"> => ActionFn(1677); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1638::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant81(__nt), __end)); - (2, 223) + let __nt = super::__action1677::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant84(__nt), __end)); + (2, 224) } - pub(crate) fn __reduce757< + pub(crate) fn __reduce771< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SliceOp = ":" => ActionFn(1639); + // SliceOp = ":" => ActionFn(1678); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1639::<>(__sym0); - __symbols.push((__start, __Symbol::Variant81(__nt), __end)); - (1, 223) + let __nt = super::__action1678::<>(__sym0); + __symbols.push((__start, __Symbol::Variant84(__nt), __end)); + (1, 224) } - pub(crate) fn __reduce758< + pub(crate) fn __reduce772< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SliceOp? = SliceOp => ActionFn(244); - let __sym0 = __pop_Variant81(__symbols); + // SliceOp? = SliceOp => ActionFn(251); + let __sym0 = __pop_Variant84(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action244::<>(__sym0); - __symbols.push((__start, __Symbol::Variant82(__nt), __end)); - (1, 224) + let __nt = super::__action251::<>(__sym0); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); + (1, 225) } - pub(crate) fn __reduce759< + pub(crate) fn __reduce773< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SliceOp? = => ActionFn(245); + // SliceOp? = => ActionFn(252); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action245::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant82(__nt), __end)); - (0, 224) + let __nt = super::__action252::<>(&__start, &__end); + __symbols.push((__start, __Symbol::Variant85(__nt), __end)); + (0, 225) } - pub(crate) fn __reduce760< + pub(crate) fn __reduce774< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26583,9 +27508,9 @@ mod __parse__Top { let __end = __sym0.2; let __nt = super::__action14::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 225) + (1, 226) } - pub(crate) fn __reduce761< + pub(crate) fn __reduce775< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26598,9 +27523,9 @@ mod __parse__Top { let __end = __sym0.2; let __nt = super::__action15::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 225) + (1, 226) } - pub(crate) fn __reduce762< + pub(crate) fn __reduce776< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26613,9 +27538,9 @@ mod __parse__Top { let __end = __sym0.2; let __nt = super::__action16::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 225) + (1, 226) } - pub(crate) fn __reduce763< + pub(crate) fn __reduce777< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26628,9 +27553,9 @@ mod __parse__Top { let __end = __sym0.2; let __nt = super::__action17::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 225) + (1, 226) } - pub(crate) fn __reduce764< + pub(crate) fn __reduce778< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26643,9 +27568,9 @@ mod __parse__Top { let __end = __sym0.2; let __nt = super::__action18::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 225) + (1, 226) } - pub(crate) fn __reduce765< + pub(crate) fn __reduce779< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26658,9 +27583,9 @@ mod __parse__Top { let __end = __sym0.2; let __nt = super::__action19::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 225) + (1, 226) } - pub(crate) fn __reduce766< + pub(crate) fn __reduce780< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26673,9 +27598,9 @@ mod __parse__Top { let __end = __sym0.2; let __nt = super::__action20::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 225) + (1, 226) } - pub(crate) fn __reduce767< + pub(crate) fn __reduce781< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26688,174 +27613,189 @@ mod __parse__Top { let __end = __sym0.2; let __nt = super::__action21::<>(__sym0); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (1, 225) + (1, 226) } - pub(crate) fn __reduce768< + pub(crate) fn __reduce782< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // SmallStatement = TypeAliasStatement => ActionFn(22); + let __sym0 = __pop_Variant35(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = super::__action22::<>(__sym0); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (1, 226) + } + pub(crate) fn __reduce783< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarExpr = "*", Expression<"all"> => ActionFn(1392); + // StarExpr = "*", Expression<"all"> => ActionFn(1423); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1392::<>(__sym0, __sym1); + let __nt = super::__action1423::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (2, 226) + (2, 227) } - pub(crate) fn __reduce769< + pub(crate) fn __reduce784< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarPattern = "*", Identifier => ActionFn(1393); + // StarPattern = "*", Identifier => ActionFn(1424); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant23(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1393::<>(__sym0, __sym1); + let __nt = super::__action1424::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (2, 227) + (2, 228) } - pub(crate) fn __reduce770< + pub(crate) fn __reduce785< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarTypedParameter = Identifier, ":", TestOrStarExpr => ActionFn(1394); + // StarTypedParameter = Identifier, ":", TestOrStarExpr => ActionFn(1425); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1394::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant59(__nt), __end)); - (3, 228) + let __nt = super::__action1425::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + (3, 229) } - pub(crate) fn __reduce771< + pub(crate) fn __reduce786< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarTypedParameter = Identifier => ActionFn(1395); + // StarTypedParameter = Identifier => ActionFn(1426); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1395::<>(__sym0); - __symbols.push((__start, __Symbol::Variant59(__nt), __end)); - (1, 228) + let __nt = super::__action1426::<>(__sym0); + __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + (1, 229) } - pub(crate) fn __reduce772< + pub(crate) fn __reduce787< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarTypedParameter? = StarTypedParameter => ActionFn(455); - let __sym0 = __pop_Variant59(__symbols); + // StarTypedParameter? = StarTypedParameter => ActionFn(466); + let __sym0 = __pop_Variant61(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action455::<>(__sym0); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); - (1, 229) + let __nt = super::__action466::<>(__sym0); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + (1, 230) } - pub(crate) fn __reduce773< + pub(crate) fn __reduce788< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarTypedParameter? = => ActionFn(456); + // StarTypedParameter? = => ActionFn(467); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action456::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); - (0, 229) + let __nt = super::__action467::<>(&__start, &__end); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + (0, 230) } - pub(crate) fn __reduce774< + pub(crate) fn __reduce789< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarUntypedParameter = Identifier => ActionFn(1396); + // StarUntypedParameter = Identifier => ActionFn(1427); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1396::<>(__sym0); - __symbols.push((__start, __Symbol::Variant59(__nt), __end)); - (1, 230) + let __nt = super::__action1427::<>(__sym0); + __symbols.push((__start, __Symbol::Variant61(__nt), __end)); + (1, 231) } - pub(crate) fn __reduce775< + pub(crate) fn __reduce790< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarUntypedParameter? = StarUntypedParameter => ActionFn(444); - let __sym0 = __pop_Variant59(__symbols); + // StarUntypedParameter? = StarUntypedParameter => ActionFn(455); + let __sym0 = __pop_Variant61(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action444::<>(__sym0); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); - (1, 231) + let __nt = super::__action455::<>(__sym0); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + (1, 232) } - pub(crate) fn __reduce776< + pub(crate) fn __reduce791< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // StarUntypedParameter? = => ActionFn(445); + // StarUntypedParameter? = => ActionFn(456); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action445::<>(&__start, &__end); - __symbols.push((__start, __Symbol::Variant60(__nt), __end)); - (0, 231) + let __nt = super::__action456::<>(&__start, &__end); + __symbols.push((__start, __Symbol::Variant62(__nt), __end)); + (0, 232) } - pub(crate) fn __reduce777< + pub(crate) fn __reduce792< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = SmallStatement, ";", "\n" => ActionFn(1136); + // Statements = SmallStatement, ";", "\n" => ActionFn(1161); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1136::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); - (3, 232) + let __nt = super::__action1161::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); + (3, 233) } - pub(crate) fn __reduce778< + pub(crate) fn __reduce793< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = ( ";")+, SmallStatement, ";", "\n" => ActionFn(1137); + // Statements = ( ";")+, SmallStatement, ";", "\n" => ActionFn(1162); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -26863,46 +27803,46 @@ mod __parse__Top { let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1137::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); - (4, 232) + let __nt = super::__action1162::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); + (4, 233) } - pub(crate) fn __reduce779< + pub(crate) fn __reduce794< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = SmallStatement, "\n" => ActionFn(1138); + // Statements = SmallStatement, "\n" => ActionFn(1163); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1138::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); - (2, 232) + let __nt = super::__action1163::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); + (2, 233) } - pub(crate) fn __reduce780< + pub(crate) fn __reduce795< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = ( ";")+, SmallStatement, "\n" => ActionFn(1139); + // Statements = ( ";")+, SmallStatement, "\n" => ActionFn(1164); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1139::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); - (3, 232) + let __nt = super::__action1164::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); + (3, 233) } - pub(crate) fn __reduce781< + pub(crate) fn __reduce796< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26914,10 +27854,10 @@ mod __parse__Top { let __start = __sym0.0; let __end = __sym0.2; let __nt = super::__action11::<>(__sym0); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); - (1, 232) + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); + (1, 233) } - pub(crate) fn __reduce782< + pub(crate) fn __reduce797< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -26927,333 +27867,333 @@ mod __parse__Top { // Statements = Statements, CompoundStatement => ActionFn(12); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant35(__symbols); - let __sym0 = __pop_Variant83(__symbols); + let __sym0 = __pop_Variant86(__symbols); let __start = __sym0.0; let __end = __sym1.2; let __nt = super::__action12::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); - (2, 232) + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); + (2, 233) } - pub(crate) fn __reduce783< + pub(crate) fn __reduce798< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = Statements, SmallStatement, ";", "\n" => ActionFn(1140); + // Statements = Statements, SmallStatement, ";", "\n" => ActionFn(1165); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); - let __sym0 = __pop_Variant83(__symbols); + let __sym0 = __pop_Variant86(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1140::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); - (4, 232) + let __nt = super::__action1165::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); + (4, 233) } - pub(crate) fn __reduce784< + pub(crate) fn __reduce799< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = Statements, ( ";")+, SmallStatement, ";", "\n" => ActionFn(1141); + // Statements = Statements, ( ";")+, SmallStatement, ";", "\n" => ActionFn(1166); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant35(__symbols); let __sym1 = __pop_Variant36(__symbols); - let __sym0 = __pop_Variant83(__symbols); + let __sym0 = __pop_Variant86(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1141::<>(__sym0, __sym1, __sym2, __sym3, __sym4); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); - (5, 232) + let __nt = super::__action1166::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); + (5, 233) } - pub(crate) fn __reduce785< + pub(crate) fn __reduce800< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = Statements, SmallStatement, "\n" => ActionFn(1142); + // Statements = Statements, SmallStatement, "\n" => ActionFn(1167); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); - let __sym0 = __pop_Variant83(__symbols); + let __sym0 = __pop_Variant86(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1142::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); - (3, 232) + let __nt = super::__action1167::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); + (3, 233) } - pub(crate) fn __reduce786< + pub(crate) fn __reduce801< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Statements = Statements, ( ";")+, SmallStatement, "\n" => ActionFn(1143); + // Statements = Statements, ( ";")+, SmallStatement, "\n" => ActionFn(1168); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant35(__symbols); let __sym1 = __pop_Variant36(__symbols); - let __sym0 = __pop_Variant83(__symbols); + let __sym0 = __pop_Variant86(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1143::<>(__sym0, __sym1, __sym2, __sym3); - __symbols.push((__start, __Symbol::Variant83(__nt), __end)); - (4, 232) + let __nt = super::__action1168::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant86(__nt), __end)); + (4, 233) } - pub(crate) fn __reduce787< + pub(crate) fn __reduce802< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = TestOrStarNamedExpr => ActionFn(197); + // Subscript = TestOrStarNamedExpr => ActionFn(204); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action197::<>(__sym0); + let __nt = super::__action204::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 233) + (1, 234) } - pub(crate) fn __reduce788< + pub(crate) fn __reduce803< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", Test<"all">, SliceOp => ActionFn(1640); + // Subscript = Test<"all">, ":", Test<"all">, SliceOp => ActionFn(1679); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant81(__symbols); + let __sym3 = __pop_Variant84(__symbols); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1640::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1679::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (4, 233) + (4, 234) } - pub(crate) fn __reduce789< + pub(crate) fn __reduce804< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", SliceOp => ActionFn(1641); + // Subscript = Test<"all">, ":", SliceOp => ActionFn(1680); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant81(__symbols); + let __sym2 = __pop_Variant84(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1641::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1680::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 233) + (3, 234) } - pub(crate) fn __reduce790< + pub(crate) fn __reduce805< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", Test<"all">, SliceOp => ActionFn(1642); + // Subscript = ":", Test<"all">, SliceOp => ActionFn(1681); assert!(__symbols.len() >= 3); - let __sym2 = __pop_Variant81(__symbols); + let __sym2 = __pop_Variant84(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1642::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1681::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 233) + (3, 234) } - pub(crate) fn __reduce791< + pub(crate) fn __reduce806< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", SliceOp => ActionFn(1643); + // Subscript = ":", SliceOp => ActionFn(1682); assert!(__symbols.len() >= 2); - let __sym1 = __pop_Variant81(__symbols); + let __sym1 = __pop_Variant84(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1643::<>(__sym0, __sym1); + let __nt = super::__action1682::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (2, 233) + (2, 234) } - pub(crate) fn __reduce792< + pub(crate) fn __reduce807< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":", Test<"all"> => ActionFn(1644); + // Subscript = Test<"all">, ":", Test<"all"> => ActionFn(1683); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1644::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1683::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 233) + (3, 234) } - pub(crate) fn __reduce793< + pub(crate) fn __reduce808< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = Test<"all">, ":" => ActionFn(1645); + // Subscript = Test<"all">, ":" => ActionFn(1684); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1645::<>(__sym0, __sym1); + let __nt = super::__action1684::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (2, 233) + (2, 234) } - pub(crate) fn __reduce794< + pub(crate) fn __reduce809< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":", Test<"all"> => ActionFn(1646); + // Subscript = ":", Test<"all"> => ActionFn(1685); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1646::<>(__sym0, __sym1); + let __nt = super::__action1685::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (2, 233) + (2, 234) } - pub(crate) fn __reduce795< + pub(crate) fn __reduce810< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Subscript = ":" => ActionFn(1647); + // Subscript = ":" => ActionFn(1686); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1647::<>(__sym0); + let __nt = super::__action1686::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 233) + (1, 234) } - pub(crate) fn __reduce796< + pub(crate) fn __reduce811< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = Subscript => ActionFn(1398); + // SubscriptList = Subscript => ActionFn(1429); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1398::<>(__sym0); + let __nt = super::__action1429::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 234) + (1, 235) } - pub(crate) fn __reduce797< + pub(crate) fn __reduce812< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = Subscript, "," => ActionFn(1399); + // SubscriptList = Subscript, "," => ActionFn(1430); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1399::<>(__sym0, __sym1); + let __nt = super::__action1430::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (2, 234) + (2, 235) } - pub(crate) fn __reduce798< + pub(crate) fn __reduce813< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = TwoOrMore, "," => ActionFn(1400); + // SubscriptList = TwoOrMore, "," => ActionFn(1431); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1400::<>(__sym0, __sym1); + let __nt = super::__action1431::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (2, 234) + (2, 235) } - pub(crate) fn __reduce799< + pub(crate) fn __reduce814< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // SubscriptList = TwoOrMore => ActionFn(1401); + // SubscriptList = TwoOrMore => ActionFn(1432); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1401::<>(__sym0); + let __nt = super::__action1432::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 234) + (1, 235) } - pub(crate) fn __reduce800< + pub(crate) fn __reduce815< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Suite = SmallStatement, ";", "\n" => ActionFn(1144); + // Suite = SmallStatement, ";", "\n" => ActionFn(1169); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1144::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1169::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (3, 235) + (3, 236) } - pub(crate) fn __reduce801< + pub(crate) fn __reduce816< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Suite = ( ";")+, SmallStatement, ";", "\n" => ActionFn(1145); + // Suite = ( ";")+, SmallStatement, ";", "\n" => ActionFn(1170); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -27261,46 +28201,46 @@ mod __parse__Top { let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1145::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1170::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (4, 235) + (4, 236) } - pub(crate) fn __reduce802< + pub(crate) fn __reduce817< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Suite = SmallStatement, "\n" => ActionFn(1146); + // Suite = SmallStatement, "\n" => ActionFn(1171); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant35(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1146::<>(__sym0, __sym1); + let __nt = super::__action1171::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (2, 235) + (2, 236) } - pub(crate) fn __reduce803< + pub(crate) fn __reduce818< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Suite = ( ";")+, SmallStatement, "\n" => ActionFn(1147); + // Suite = ( ";")+, SmallStatement, "\n" => ActionFn(1172); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant35(__symbols); let __sym0 = __pop_Variant36(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1147::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1172::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (3, 235) + (3, 236) } - pub(crate) fn __reduce804< + pub(crate) fn __reduce819< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, @@ -27310,89 +28250,89 @@ mod __parse__Top { // Suite = "\n", Indent, Statements, Dedent => ActionFn(9); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); - let __sym2 = __pop_Variant83(__symbols); + let __sym2 = __pop_Variant86(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; let __nt = super::__action9::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant25(__nt), __end)); - (4, 235) + (4, 236) } - pub(crate) fn __reduce805< + pub(crate) fn __reduce820< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Term<"all"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1402); + // Term<"all"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1433); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1402::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1433::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 236) + (3, 237) } - pub(crate) fn __reduce806< + pub(crate) fn __reduce821< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Term<"all"> = Factor<"all"> => ActionFn(481); + // Term<"all"> = Factor<"all"> => ActionFn(492); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action481::<>(__sym0); + let __nt = super::__action492::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 236) + (1, 237) } - pub(crate) fn __reduce807< + pub(crate) fn __reduce822< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Term<"no-withitems"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1403); + // Term<"no-withitems"> = Term<"all">, MulOp, Factor<"all"> => ActionFn(1434); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant47(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1403::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1434::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 237) + (3, 238) } - pub(crate) fn __reduce808< + pub(crate) fn __reduce823< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Term<"no-withitems"> = Factor<"no-withitems"> => ActionFn(522); + // Term<"no-withitems"> = Factor<"no-withitems"> => ActionFn(533); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action522::<>(__sym0); + let __nt = super::__action533::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 237) + (1, 238) } - pub(crate) fn __reduce809< + pub(crate) fn __reduce824< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"all"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1404); + // Test<"all"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1435); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -27401,77 +28341,77 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1404::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1435::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (5, 238) + (5, 239) } - pub(crate) fn __reduce810< + pub(crate) fn __reduce825< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"all"> = OrTest<"all"> => ActionFn(360); + // Test<"all"> = OrTest<"all"> => ActionFn(371); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action360::<>(__sym0); + let __nt = super::__action371::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 238) + (1, 239) } - pub(crate) fn __reduce811< + pub(crate) fn __reduce826< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"all"> = LambdaDef => ActionFn(361); + // Test<"all"> = LambdaDef => ActionFn(372); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action361::<>(__sym0); + let __nt = super::__action372::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 238) + (1, 239) } - pub(crate) fn __reduce812< + pub(crate) fn __reduce827< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"all">? = Test<"all"> => ActionFn(290); + // Test<"all">? = Test<"all"> => ActionFn(301); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action290::<>(__sym0); + let __nt = super::__action301::<>(__sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); - (1, 239) + (1, 240) } - pub(crate) fn __reduce813< + pub(crate) fn __reduce828< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"all">? = => ActionFn(291); + // Test<"all">? = => ActionFn(302); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action291::<>(&__start, &__end); + let __nt = super::__action302::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); - (0, 239) + (0, 240) } - pub(crate) fn __reduce814< + pub(crate) fn __reduce829< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"no-withitems"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1405); + // Test<"no-withitems"> = OrTest<"all">, "if", OrTest<"all">, "else", Test<"all"> => ActionFn(1436); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant15(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -27480,266 +28420,266 @@ mod __parse__Top { let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1405::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1436::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (5, 240) + (5, 241) } - pub(crate) fn __reduce815< + pub(crate) fn __reduce830< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"no-withitems"> = OrTest<"no-withitems"> => ActionFn(390); + // Test<"no-withitems"> = OrTest<"no-withitems"> => ActionFn(401); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action390::<>(__sym0); + let __nt = super::__action401::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 240) + (1, 241) } - pub(crate) fn __reduce816< + pub(crate) fn __reduce831< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Test<"no-withitems"> = LambdaDef => ActionFn(391); + // Test<"no-withitems"> = LambdaDef => ActionFn(402); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action391::<>(__sym0); + let __nt = super::__action402::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 240) + (1, 241) } - pub(crate) fn __reduce817< + pub(crate) fn __reduce832< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestList = GenericList => ActionFn(210); + // TestList = GenericList => ActionFn(217); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action210::<>(__sym0); + let __nt = super::__action217::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 241) + (1, 242) } - pub(crate) fn __reduce818< + pub(crate) fn __reduce833< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestList? = GenericList => ActionFn(1652); + // TestList? = GenericList => ActionFn(1691); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1652::<>(__sym0); + let __nt = super::__action1691::<>(__sym0); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); - (1, 242) + (1, 243) } - pub(crate) fn __reduce819< + pub(crate) fn __reduce834< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestList? = => ActionFn(356); + // TestList? = => ActionFn(367); let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); let __end = __start.clone(); - let __nt = super::__action356::<>(&__start, &__end); + let __nt = super::__action367::<>(&__start, &__end); __symbols.push((__start, __Symbol::Variant16(__nt), __end)); - (0, 242) + (0, 243) } - pub(crate) fn __reduce820< + pub(crate) fn __reduce835< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestListOrYieldExpr = GenericList => ActionFn(1653); + // TestListOrYieldExpr = GenericList => ActionFn(1692); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1653::<>(__sym0); + let __nt = super::__action1692::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 243) + (1, 244) } - pub(crate) fn __reduce821< + pub(crate) fn __reduce836< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestListOrYieldExpr = YieldExpr => ActionFn(29); + // TestListOrYieldExpr = YieldExpr => ActionFn(30); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action29::<>(__sym0); + let __nt = super::__action30::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 243) + (1, 244) } - pub(crate) fn __reduce822< + pub(crate) fn __reduce837< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestOrStarExpr = Test<"all"> => ActionFn(31); + // TestOrStarExpr = Test<"all"> => ActionFn(32); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action31::<>(__sym0); + let __nt = super::__action32::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 244) + (1, 245) } - pub(crate) fn __reduce823< + pub(crate) fn __reduce838< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestOrStarExpr = StarExpr => ActionFn(32); + // TestOrStarExpr = StarExpr => ActionFn(33); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action32::<>(__sym0); + let __nt = super::__action33::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 244) + (1, 245) } - pub(crate) fn __reduce824< + pub(crate) fn __reduce839< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestOrStarExprList = GenericList => ActionFn(1654); + // TestOrStarExprList = GenericList => ActionFn(1693); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1654::<>(__sym0); + let __nt = super::__action1693::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 245) + (1, 246) } - pub(crate) fn __reduce825< + pub(crate) fn __reduce840< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestOrStarNamedExpr = NamedExpressionTest => ActionFn(35); + // TestOrStarNamedExpr = NamedExpressionTest => ActionFn(36); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action35::<>(__sym0); + let __nt = super::__action36::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 246) + (1, 247) } - pub(crate) fn __reduce826< + pub(crate) fn __reduce841< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TestOrStarNamedExpr = StarExpr => ActionFn(36); + // TestOrStarNamedExpr = StarExpr => ActionFn(37); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action36::<>(__sym0); + let __nt = super::__action37::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 246) + (1, 247) } - pub(crate) fn __reduce827< + pub(crate) fn __reduce842< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartModule, Program => ActionFn(1406); + // Top = StartModule, Program => ActionFn(1437); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant25(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1406::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant84(__nt), __end)); - (2, 247) + let __nt = super::__action1437::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant87(__nt), __end)); + (2, 248) } - pub(crate) fn __reduce828< + pub(crate) fn __reduce843< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartInteractive, Program => ActionFn(1407); + // Top = StartInteractive, Program => ActionFn(1438); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant25(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1407::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant84(__nt), __end)); - (2, 247) + let __nt = super::__action1438::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant87(__nt), __end)); + (2, 248) } - pub(crate) fn __reduce829< + pub(crate) fn __reduce844< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartExpression, GenericList => ActionFn(1655); + // Top = StartExpression, GenericList => ActionFn(1694); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1655::<>(__sym0, __sym1); - __symbols.push((__start, __Symbol::Variant84(__nt), __end)); - (2, 247) + let __nt = super::__action1694::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant87(__nt), __end)); + (2, 248) } - pub(crate) fn __reduce830< + pub(crate) fn __reduce845< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // Top = StartExpression, GenericList, ("\n")+ => ActionFn(1656); + // Top = StartExpression, GenericList, ("\n")+ => ActionFn(1695); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant22(__symbols); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1656::<>(__sym0, __sym1, __sym2); - __symbols.push((__start, __Symbol::Variant84(__nt), __end)); - (3, 247) + let __nt = super::__action1695::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant87(__nt), __end)); + (3, 248) } - pub(crate) fn __reduce831< + pub(crate) fn __reduce846< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1410); + // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1441); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -27747,87 +28687,87 @@ mod __parse__Top { let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1410::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1441::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (10, 248) + (10, 249) } - pub(crate) fn __reduce832< + pub(crate) fn __reduce847< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite => ActionFn(1411); + // TryStatement = "try", ":", Suite, ExceptClause+, "else", ":", Suite => ActionFn(1442); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1411::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1442::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (7, 248) + (7, 249) } - pub(crate) fn __reduce833< + pub(crate) fn __reduce848< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+, "finally", ":", Suite => ActionFn(1412); + // TryStatement = "try", ":", Suite, ExceptClause+, "finally", ":", Suite => ActionFn(1443); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1412::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1443::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (7, 248) + (7, 249) } - pub(crate) fn __reduce834< + pub(crate) fn __reduce849< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptClause+ => ActionFn(1413); + // TryStatement = "try", ":", Suite, ExceptClause+ => ActionFn(1444); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1413::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1444::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (4, 248) + (4, 249) } - pub(crate) fn __reduce835< + pub(crate) fn __reduce850< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1414); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite, "finally", ":", Suite => ActionFn(1445); assert!(__symbols.len() >= 10); let __sym9 = __pop_Variant25(__symbols); let __sym8 = __pop_Variant0(__symbols); @@ -27835,87 +28775,87 @@ mod __parse__Top { let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym9.2; - let __nt = super::__action1414::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); + let __nt = super::__action1445::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6, __sym7, __sym8, __sym9); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (10, 248) + (10, 249) } - pub(crate) fn __reduce836< + pub(crate) fn __reduce851< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite => ActionFn(1415); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "else", ":", Suite => ActionFn(1446); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1415::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1446::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (7, 248) + (7, 249) } - pub(crate) fn __reduce837< + pub(crate) fn __reduce852< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+, "finally", ":", Suite => ActionFn(1416); + // TryStatement = "try", ":", Suite, ExceptStarClause+, "finally", ":", Suite => ActionFn(1447); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1416::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1447::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (7, 248) + (7, 249) } - pub(crate) fn __reduce838< + pub(crate) fn __reduce853< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, ExceptStarClause+ => ActionFn(1417); + // TryStatement = "try", ":", Suite, ExceptStarClause+ => ActionFn(1448); assert!(__symbols.len() >= 4); - let __sym3 = __pop_Variant62(__symbols); + let __sym3 = __pop_Variant64(__symbols); let __sym2 = __pop_Variant25(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1417::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1448::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (4, 248) + (4, 249) } - pub(crate) fn __reduce839< + pub(crate) fn __reduce854< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TryStatement = "try", ":", Suite, "finally", ":", Suite => ActionFn(1083); + // TryStatement = "try", ":", Suite, "finally", ":", Suite => ActionFn(1108); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant25(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -27925,270 +28865,457 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1083::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1108::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (6, 248) + (6, 249) } - pub(crate) fn __reduce840< + pub(crate) fn __reduce855< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TwoOrMore = ClosedPattern, "|", ClosedPattern => ActionFn(321); + // TwoOrMore = ClosedPattern, "|", ClosedPattern => ActionFn(332); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant33(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action321::<>(__sym0, __sym1, __sym2); + let __nt = super::__action332::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); - (3, 249) + (3, 250) } - pub(crate) fn __reduce841< + pub(crate) fn __reduce856< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TwoOrMore = TwoOrMore, "|", ClosedPattern => ActionFn(322); + // TwoOrMore = TwoOrMore, "|", ClosedPattern => ActionFn(333); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant33(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action322::<>(__sym0, __sym1, __sym2); + let __nt = super::__action333::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); - (3, 249) + (3, 250) } - pub(crate) fn __reduce842< + pub(crate) fn __reduce857< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TwoOrMore = Pattern, ",", Pattern => ActionFn(323); + // TwoOrMore = Pattern, ",", Pattern => ActionFn(334); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant33(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant33(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action323::<>(__sym0, __sym1, __sym2); + let __nt = super::__action334::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); - (3, 250) + (3, 251) } - pub(crate) fn __reduce843< + pub(crate) fn __reduce858< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TwoOrMore = TwoOrMore, ",", Pattern => ActionFn(324); + // TwoOrMore = TwoOrMore, ",", Pattern => ActionFn(335); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant33(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant50(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action324::<>(__sym0, __sym1, __sym2); + let __nt = super::__action335::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant50(__nt), __end)); - (3, 250) + (3, 251) } - pub(crate) fn __reduce844< + pub(crate) fn __reduce859< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TwoOrMore = Subscript, ",", Subscript => ActionFn(246); + // TwoOrMore = Subscript, ",", Subscript => ActionFn(253); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action246::<>(__sym0, __sym1, __sym2); + let __nt = super::__action253::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); - (3, 251) + (3, 252) } - pub(crate) fn __reduce845< + pub(crate) fn __reduce860< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TwoOrMore = TwoOrMore, ",", Subscript => ActionFn(247); + // TwoOrMore = TwoOrMore, ",", Subscript => ActionFn(254); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action247::<>(__sym0, __sym1, __sym2); + let __nt = super::__action254::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); - (3, 251) + (3, 252) } - pub(crate) fn __reduce846< + pub(crate) fn __reduce861< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TwoOrMore = TestOrStarNamedExpr, ",", TestOrStarNamedExpr => ActionFn(328); + // TwoOrMore = TestOrStarNamedExpr, ",", TestOrStarNamedExpr => ActionFn(339); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action328::<>(__sym0, __sym1, __sym2); + let __nt = super::__action339::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); - (3, 252) + (3, 253) } - pub(crate) fn __reduce847< + pub(crate) fn __reduce862< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TwoOrMore = TwoOrMore, ",", TestOrStarNamedExpr => ActionFn(329); + // TwoOrMore = TwoOrMore, ",", TestOrStarNamedExpr => ActionFn(340); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action329::<>(__sym0, __sym1, __sym2); + let __nt = super::__action340::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant31(__nt), __end)); - (3, 252) + (3, 253) } - pub(crate) fn __reduce848< + pub(crate) fn __reduce863< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypeAliasName = Identifier => ActionFn(1449); + let __sym0 = __pop_Variant23(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = super::__action1449::<>(__sym0); + __symbols.push((__start, __Symbol::Variant15(__nt), __end)); + (1, 254) + } + pub(crate) fn __reduce864< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TypedParameter = Identifier, ":", Test<"all"> => ActionFn(1418); + // TypeAliasStatement = "type", TypeAliasName, TypeParamList, "=", Test<"all"> => ActionFn(1727); + assert!(__symbols.len() >= 5); + let __sym4 = __pop_Variant15(__symbols); + let __sym3 = __pop_Variant0(__symbols); + let __sym2 = __pop_Variant79(__symbols); + let __sym1 = __pop_Variant15(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym4.2; + let __nt = super::__action1727::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (5, 255) + } + pub(crate) fn __reduce865< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypeAliasStatement = "type", TypeAliasName, "=", Test<"all"> => ActionFn(1728); + assert!(__symbols.len() >= 4); + let __sym3 = __pop_Variant15(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant15(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym3.2; + let __nt = super::__action1728::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant35(__nt), __end)); + (4, 255) + } + pub(crate) fn __reduce866< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypeParam = Identifier, ":", Test<"all"> => ActionFn(1451); + assert!(__symbols.len() >= 3); + let __sym2 = __pop_Variant15(__symbols); + let __sym1 = __pop_Variant0(__symbols); + let __sym0 = __pop_Variant23(__symbols); + let __start = __sym0.0; + let __end = __sym2.2; + let __nt = super::__action1451::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant88(__nt), __end)); + (3, 256) + } + pub(crate) fn __reduce867< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypeParam = Identifier => ActionFn(1452); + let __sym0 = __pop_Variant23(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = super::__action1452::<>(__sym0); + __symbols.push((__start, __Symbol::Variant88(__nt), __end)); + (1, 256) + } + pub(crate) fn __reduce868< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypeParam = "*", Identifier => ActionFn(1453); + assert!(__symbols.len() >= 2); + let __sym1 = __pop_Variant23(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym1.2; + let __nt = super::__action1453::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant88(__nt), __end)); + (2, 256) + } + pub(crate) fn __reduce869< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypeParam = "**", Identifier => ActionFn(1454); + assert!(__symbols.len() >= 2); + let __sym1 = __pop_Variant23(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym1.2; + let __nt = super::__action1454::<>(__sym0, __sym1); + __symbols.push((__start, __Symbol::Variant88(__nt), __end)); + (2, 256) + } + pub(crate) fn __reduce870< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypeParamList = "[", OneOrMore, ",", "]" => ActionFn(1455); + assert!(__symbols.len() >= 4); + let __sym3 = __pop_Variant0(__symbols); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant79(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym3.2; + let __nt = super::__action1455::<>(__sym0, __sym1, __sym2, __sym3); + __symbols.push((__start, __Symbol::Variant79(__nt), __end)); + (4, 257) + } + pub(crate) fn __reduce871< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypeParamList = "[", OneOrMore, "]" => ActionFn(1456); + assert!(__symbols.len() >= 3); + let __sym2 = __pop_Variant0(__symbols); + let __sym1 = __pop_Variant79(__symbols); + let __sym0 = __pop_Variant0(__symbols); + let __start = __sym0.0; + let __end = __sym2.2; + let __nt = super::__action1456::<>(__sym0, __sym1, __sym2); + __symbols.push((__start, __Symbol::Variant79(__nt), __end)); + (3, 257) + } + pub(crate) fn __reduce872< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypeParamList? = TypeParamList => ActionFn(282); + let __sym0 = __pop_Variant79(__symbols); + let __start = __sym0.0; + let __end = __sym0.2; + let __nt = super::__action282::<>(__sym0); + __symbols.push((__start, __Symbol::Variant89(__nt), __end)); + (1, 258) + } + pub(crate) fn __reduce873< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypeParamList? = => ActionFn(283); + let __start = __lookahead_start.cloned().or_else(|| __symbols.last().map(|s| s.2.clone())).unwrap_or_default(); + let __end = __start.clone(); + let __nt = super::__action283::<>(&__start, &__end); + __symbols.push((__start, __Symbol::Variant89(__nt), __end)); + (0, 258) + } + pub(crate) fn __reduce874< + >( + __lookahead_start: Option<&TextSize>, + __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, + _: core::marker::PhantomData<()>, + ) -> (usize, usize) + { + // TypedParameter = Identifier, ":", Test<"all"> => ActionFn(1457); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1418::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1457::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (3, 253) + (3, 259) } - pub(crate) fn __reduce849< + pub(crate) fn __reduce875< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // TypedParameter = Identifier => ActionFn(1419); + // TypedParameter = Identifier => ActionFn(1458); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1419::<>(__sym0); + let __nt = super::__action1458::<>(__sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (1, 253) + (1, 259) } - pub(crate) fn __reduce850< + pub(crate) fn __reduce876< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // UnaryOp = "+" => ActionFn(191); + // UnaryOp = "+" => ActionFn(198); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action191::<>(__sym0); - __symbols.push((__start, __Symbol::Variant85(__nt), __end)); - (1, 254) + let __nt = super::__action198::<>(__sym0); + __symbols.push((__start, __Symbol::Variant90(__nt), __end)); + (1, 260) } - pub(crate) fn __reduce851< + pub(crate) fn __reduce877< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // UnaryOp = "-" => ActionFn(192); + // UnaryOp = "-" => ActionFn(199); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action192::<>(__sym0); - __symbols.push((__start, __Symbol::Variant85(__nt), __end)); - (1, 254) + let __nt = super::__action199::<>(__sym0); + __symbols.push((__start, __Symbol::Variant90(__nt), __end)); + (1, 260) } - pub(crate) fn __reduce852< + pub(crate) fn __reduce878< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // UnaryOp = "~" => ActionFn(193); + // UnaryOp = "~" => ActionFn(200); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action193::<>(__sym0); - __symbols.push((__start, __Symbol::Variant85(__nt), __end)); - (1, 254) + let __nt = super::__action200::<>(__sym0); + __symbols.push((__start, __Symbol::Variant90(__nt), __end)); + (1, 260) } - pub(crate) fn __reduce853< + pub(crate) fn __reduce879< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // UntypedParameter = Identifier => ActionFn(1420); + // UntypedParameter = Identifier => ActionFn(1459); let __sym0 = __pop_Variant23(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1420::<>(__sym0); + let __nt = super::__action1459::<>(__sym0); __symbols.push((__start, __Symbol::Variant11(__nt), __end)); - (1, 255) + (1, 261) } - pub(crate) fn __reduce854< + pub(crate) fn __reduce880< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // ValuePattern = MatchNameOrAttr => ActionFn(1421); + // ValuePattern = MatchNameOrAttr => ActionFn(1460); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1421::<>(__sym0); + let __nt = super::__action1460::<>(__sym0); __symbols.push((__start, __Symbol::Variant33(__nt), __end)); - (1, 256) + (1, 262) } - pub(crate) fn __reduce855< + pub(crate) fn __reduce881< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WhileStatement = "while", NamedExpressionTest, ":", Suite, "else", ":", Suite => ActionFn(1080); + // WhileStatement = "while", NamedExpressionTest, ":", Suite, "else", ":", Suite => ActionFn(1105); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant25(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -28199,18 +29326,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1080::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1105::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (7, 257) + (7, 263) } - pub(crate) fn __reduce856< + pub(crate) fn __reduce882< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WhileStatement = "while", NamedExpressionTest, ":", Suite => ActionFn(1081); + // WhileStatement = "while", NamedExpressionTest, ":", Suite => ActionFn(1106); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28218,102 +29345,102 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1081::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1106::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (4, 257) + (4, 263) } - pub(crate) fn __reduce857< + pub(crate) fn __reduce883< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"all"> = Test<"all"> => ActionFn(1422); + // WithItem<"all"> = Test<"all"> => ActionFn(1461); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1422::<>(__sym0); + let __nt = super::__action1461::<>(__sym0); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); - (1, 258) + (1, 264) } - pub(crate) fn __reduce858< + pub(crate) fn __reduce884< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"all"> = Test<"all">, "as", Expression<"all"> => ActionFn(1423); + // WithItem<"all"> = Test<"all">, "as", Expression<"all"> => ActionFn(1462); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1423::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1462::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); - (3, 258) + (3, 264) } - pub(crate) fn __reduce859< + pub(crate) fn __reduce885< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"as"> = Test<"all">, "as", Expression<"all"> => ActionFn(1424); + // WithItem<"as"> = Test<"all">, "as", Expression<"all"> => ActionFn(1463); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1424::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1463::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); - (3, 259) + (3, 265) } - pub(crate) fn __reduce860< + pub(crate) fn __reduce886< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"no-withitems"> = Test<"no-withitems"> => ActionFn(1425); + // WithItem<"no-withitems"> = Test<"no-withitems"> => ActionFn(1464); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1425::<>(__sym0); + let __nt = super::__action1464::<>(__sym0); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); - (1, 260) + (1, 266) } - pub(crate) fn __reduce861< + pub(crate) fn __reduce887< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItem<"no-withitems"> = Test<"all">, "as", Expression<"all"> => ActionFn(1426); + // WithItem<"no-withitems"> = Test<"all">, "as", Expression<"all"> => ActionFn(1465); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1426::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1465::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant18(__nt), __end)); - (3, 260) + (3, 266) } - pub(crate) fn __reduce862< + pub(crate) fn __reduce888< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", ")" => ActionFn(1433); + // WithItems = "(", OneOrMore>, ",", ")" => ActionFn(1472); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28321,36 +29448,36 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1433::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1472::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (4, 261) + (4, 267) } - pub(crate) fn __reduce863< + pub(crate) fn __reduce889< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ")" => ActionFn(1434); + // WithItems = "(", OneOrMore>, ")" => ActionFn(1473); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant31(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1434::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1473::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (3, 261) + (3, 267) } - pub(crate) fn __reduce864< + pub(crate) fn __reduce890< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ",", ")" => ActionFn(1436); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ",", ")" => ActionFn(1475); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant0(__symbols); @@ -28360,18 +29487,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1436::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1475::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (6, 261) + (6, 267) } - pub(crate) fn __reduce865< + pub(crate) fn __reduce891< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ",", ")" => ActionFn(1437); + // WithItems = "(", WithItem<"as">, ",", ")" => ActionFn(1476); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28379,18 +29506,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1437::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1476::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (4, 261) + (4, 267) } - pub(crate) fn __reduce866< + pub(crate) fn __reduce892< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1438); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1477); assert!(__symbols.len() >= 7); let __sym6 = __pop_Variant0(__symbols); let __sym5 = __pop_Variant0(__symbols); @@ -28401,18 +29528,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym6.2; - let __nt = super::__action1438::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); + let __nt = super::__action1477::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5, __sym6); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (7, 261) + (7, 267) } - pub(crate) fn __reduce867< + pub(crate) fn __reduce893< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1439); + // WithItems = "(", WithItem<"as">, ("," >)+, ",", ")" => ActionFn(1478); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -28421,18 +29548,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1439::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1478::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (5, 261) + (5, 267) } - pub(crate) fn __reduce868< + pub(crate) fn __reduce894< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ")" => ActionFn(1440); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ")" => ActionFn(1479); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant0(__symbols); let __sym3 = __pop_Variant18(__symbols); @@ -28441,36 +29568,36 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action1440::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action1479::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (5, 261) + (5, 267) } - pub(crate) fn __reduce869< + pub(crate) fn __reduce895< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ")" => ActionFn(1441); + // WithItems = "(", WithItem<"as">, ")" => ActionFn(1480); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant0(__symbols); let __sym1 = __pop_Variant18(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1441::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1480::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (3, 261) + (3, 267) } - pub(crate) fn __reduce870< + pub(crate) fn __reduce896< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ")" => ActionFn(1442); + // WithItems = "(", OneOrMore>, ",", WithItem<"as">, ("," >)+, ")" => ActionFn(1481); assert!(__symbols.len() >= 6); let __sym5 = __pop_Variant0(__symbols); let __sym4 = __pop_Variant19(__symbols); @@ -28480,18 +29607,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym5.2; - let __nt = super::__action1442::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); + let __nt = super::__action1481::<>(__sym0, __sym1, __sym2, __sym3, __sym4, __sym5); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (6, 261) + (6, 267) } - pub(crate) fn __reduce871< + pub(crate) fn __reduce897< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = "(", WithItem<"as">, ("," >)+, ")" => ActionFn(1443); + // WithItems = "(", WithItem<"as">, ("," >)+, ")" => ActionFn(1482); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant0(__symbols); let __sym2 = __pop_Variant19(__symbols); @@ -28499,65 +29626,65 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action1443::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action1482::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (4, 261) + (4, 267) } - pub(crate) fn __reduce872< + pub(crate) fn __reduce898< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = WithItem<"no-withitems"> => ActionFn(154); + // WithItems = WithItem<"no-withitems"> => ActionFn(155); let __sym0 = __pop_Variant18(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action154::<>(__sym0); + let __nt = super::__action155::<>(__sym0); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (1, 261) + (1, 267) } - pub(crate) fn __reduce873< + pub(crate) fn __reduce899< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItems = WithItem<"all">, ("," >)+ => ActionFn(155); + // WithItems = WithItem<"all">, ("," >)+ => ActionFn(156); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant19(__symbols); let __sym0 = __pop_Variant18(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action155::<>(__sym0, __sym1); + let __nt = super::__action156::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (2, 261) + (2, 267) } - pub(crate) fn __reduce874< + pub(crate) fn __reduce900< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithItemsNoAs = OneOrMore> => ActionFn(1427); + // WithItemsNoAs = OneOrMore> => ActionFn(1466); let __sym0 = __pop_Variant31(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1427::<>(__sym0); + let __nt = super::__action1466::<>(__sym0); __symbols.push((__start, __Symbol::Variant38(__nt), __end)); - (1, 262) + (1, 268) } - pub(crate) fn __reduce875< + pub(crate) fn __reduce901< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithStatement = "async", "with", WithItems, ":", Suite => ActionFn(910); + // WithStatement = "async", "with", WithItems, ":", Suite => ActionFn(933); assert!(__symbols.len() >= 5); let __sym4 = __pop_Variant25(__symbols); let __sym3 = __pop_Variant0(__symbols); @@ -28566,18 +29693,18 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym4.2; - let __nt = super::__action910::<>(__sym0, __sym1, __sym2, __sym3, __sym4); + let __nt = super::__action933::<>(__sym0, __sym1, __sym2, __sym3, __sym4); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (5, 263) + (5, 269) } - pub(crate) fn __reduce876< + pub(crate) fn __reduce902< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // WithStatement = "with", WithItems, ":", Suite => ActionFn(911); + // WithStatement = "with", WithItems, ":", Suite => ActionFn(934); assert!(__symbols.len() >= 4); let __sym3 = __pop_Variant25(__symbols); let __sym2 = __pop_Variant0(__symbols); @@ -28585,125 +29712,125 @@ mod __parse__Top { let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym3.2; - let __nt = super::__action911::<>(__sym0, __sym1, __sym2, __sym3); + let __nt = super::__action934::<>(__sym0, __sym1, __sym2, __sym3); __symbols.push((__start, __Symbol::Variant35(__nt), __end)); - (4, 263) + (4, 269) } - pub(crate) fn __reduce877< + pub(crate) fn __reduce903< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // XorExpression<"all"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1428); + // XorExpression<"all"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1467); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1428::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1467::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 264) + (3, 270) } - pub(crate) fn __reduce878< + pub(crate) fn __reduce904< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // XorExpression<"all"> = AndExpression<"all"> => ActionFn(411); + // XorExpression<"all"> = AndExpression<"all"> => ActionFn(422); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action411::<>(__sym0); + let __nt = super::__action422::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 264) + (1, 270) } - pub(crate) fn __reduce879< + pub(crate) fn __reduce905< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // XorExpression<"no-withitems"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1429); + // XorExpression<"no-withitems"> = XorExpression<"all">, "^", AndExpression<"all"> => ActionFn(1468); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1429::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1468::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 265) + (3, 271) } - pub(crate) fn __reduce880< + pub(crate) fn __reduce906< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // XorExpression<"no-withitems"> = AndExpression<"no-withitems"> => ActionFn(487); + // XorExpression<"no-withitems"> = AndExpression<"no-withitems"> => ActionFn(498); let __sym0 = __pop_Variant15(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action487::<>(__sym0); + let __nt = super::__action498::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 265) + (1, 271) } - pub(crate) fn __reduce881< + pub(crate) fn __reduce907< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield", GenericList => ActionFn(1659); + // YieldExpr = "yield", GenericList => ActionFn(1698); assert!(__symbols.len() >= 2); let __sym1 = __pop_Variant15(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym1.2; - let __nt = super::__action1659::<>(__sym0, __sym1); + let __nt = super::__action1698::<>(__sym0, __sym1); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (2, 266) + (2, 272) } - pub(crate) fn __reduce882< + pub(crate) fn __reduce908< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield" => ActionFn(1660); + // YieldExpr = "yield" => ActionFn(1699); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym0.2; - let __nt = super::__action1660::<>(__sym0); + let __nt = super::__action1699::<>(__sym0); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (1, 266) + (1, 272) } - pub(crate) fn __reduce883< + pub(crate) fn __reduce909< >( __lookahead_start: Option<&TextSize>, __symbols: &mut alloc::vec::Vec<(TextSize,__Symbol<>,TextSize)>, _: core::marker::PhantomData<()>, ) -> (usize, usize) { - // YieldExpr = "yield", "from", Test<"all"> => ActionFn(1431); + // YieldExpr = "yield", "from", Test<"all"> => ActionFn(1470); assert!(__symbols.len() >= 3); let __sym2 = __pop_Variant15(__symbols); let __sym1 = __pop_Variant0(__symbols); let __sym0 = __pop_Variant0(__symbols); let __start = __sym0.0; let __end = __sym2.2; - let __nt = super::__action1431::<>(__sym0, __sym1, __sym2); + let __nt = super::__action1470::<>(__sym0, __sym1, __sym2); __symbols.push((__start, __Symbol::Variant15(__nt), __end)); - (3, 266) + (3, 272) } } pub use self::__parse__Top::TopParser; @@ -28726,7 +29853,7 @@ fn __action1< (_, end, _): (TextSize, TextSize, TextSize), ) -> ast::Mod { - ast::ModModule { body, type_ignores: vec![], range: optional_range(start, end) }.into() + ast::ModModule { body, type_ignores: vec![], range: (start..end).into() }.into() } #[allow(clippy::too_many_arguments)] @@ -28738,7 +29865,7 @@ fn __action2< (_, end, _): (TextSize, TextSize, TextSize), ) -> ast::Mod { - ast::ModInteractive { body, range: optional_range(start, end) }.into() + ast::ModInteractive { body, range: (start..end).into() }.into() } #[allow(clippy::too_many_arguments)] @@ -28751,7 +29878,7 @@ fn __action3< (_, end, _): (TextSize, TextSize, TextSize), ) -> ast::Mod { - ast::ModExpression { body: Box::new(body), range: optional_range(start, end) }.into() + ast::ModExpression { body: Box::new(body), range: (start..end).into() }.into() } #[allow(clippy::too_many_arguments)] @@ -28959,6 +30086,15 @@ fn __action21< #[allow(clippy::too_many_arguments)] fn __action22< +>( + (_, __0, _): (TextSize, ast::Stmt, TextSize), +) -> ast::Stmt +{ + __0 +} + +#[allow(clippy::too_many_arguments)] +fn __action23< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -28971,7 +30107,7 @@ fn __action22< } #[allow(clippy::too_many_arguments)] -fn __action23< +fn __action24< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -28987,7 +30123,7 @@ fn __action23< } #[allow(clippy::too_many_arguments)] -fn __action24< +fn __action25< >( (_, location, _): (TextSize, TextSize, TextSize), (_, expression, _): (TextSize, ast::Expr, TextSize), @@ -29019,7 +30155,7 @@ fn __action24< } #[allow(clippy::too_many_arguments)] -fn __action25< +fn __action26< >( (_, location, _): (TextSize, TextSize, TextSize), (_, target, _): (TextSize, ast::Expr, TextSize), @@ -29041,7 +30177,7 @@ fn __action25< } #[allow(clippy::too_many_arguments)] -fn __action26< +fn __action27< >( (_, location, _): (TextSize, TextSize, TextSize), (_, target, _): (TextSize, ast::Expr, TextSize), @@ -29066,7 +30202,7 @@ fn __action26< } #[allow(clippy::too_many_arguments)] -fn __action27< +fn __action28< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -29075,15 +30211,6 @@ fn __action27< e } -#[allow(clippy::too_many_arguments)] -fn __action28< ->( - (_, __0, _): (TextSize, ast::Expr, TextSize), -) -> ast::Expr -{ - __0 -} - #[allow(clippy::too_many_arguments)] fn __action29< >( @@ -29158,6 +30285,15 @@ fn __action36< #[allow(clippy::too_many_arguments)] fn __action37< +>( + (_, __0, _): (TextSize, ast::Expr, TextSize), +) -> ast::Expr +{ + __0 +} + +#[allow(clippy::too_many_arguments)] +fn __action38< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29166,7 +30302,7 @@ fn __action37< } #[allow(clippy::too_many_arguments)] -fn __action38< +fn __action39< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29175,7 +30311,7 @@ fn __action38< } #[allow(clippy::too_many_arguments)] -fn __action39< +fn __action40< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29184,7 +30320,7 @@ fn __action39< } #[allow(clippy::too_many_arguments)] -fn __action40< +fn __action41< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29193,7 +30329,7 @@ fn __action40< } #[allow(clippy::too_many_arguments)] -fn __action41< +fn __action42< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29202,7 +30338,7 @@ fn __action41< } #[allow(clippy::too_many_arguments)] -fn __action42< +fn __action43< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29211,7 +30347,7 @@ fn __action42< } #[allow(clippy::too_many_arguments)] -fn __action43< +fn __action44< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29220,7 +30356,7 @@ fn __action43< } #[allow(clippy::too_many_arguments)] -fn __action44< +fn __action45< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29229,7 +30365,7 @@ fn __action44< } #[allow(clippy::too_many_arguments)] -fn __action45< +fn __action46< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29238,7 +30374,7 @@ fn __action45< } #[allow(clippy::too_many_arguments)] -fn __action46< +fn __action47< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29247,7 +30383,7 @@ fn __action46< } #[allow(clippy::too_many_arguments)] -fn __action47< +fn __action48< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29256,7 +30392,7 @@ fn __action47< } #[allow(clippy::too_many_arguments)] -fn __action48< +fn __action49< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29265,7 +30401,7 @@ fn __action48< } #[allow(clippy::too_many_arguments)] -fn __action49< +fn __action50< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -29274,7 +30410,7 @@ fn __action49< } #[allow(clippy::too_many_arguments)] -fn __action50< +fn __action51< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29288,7 +30424,7 @@ fn __action50< } #[allow(clippy::too_many_arguments)] -fn __action51< +fn __action52< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29301,7 +30437,7 @@ fn __action51< } #[allow(clippy::too_many_arguments)] -fn __action52< +fn __action53< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29317,7 +30453,7 @@ fn __action52< } #[allow(clippy::too_many_arguments)] -fn __action53< +fn __action54< >( (_, location, _): (TextSize, TextSize, TextSize), (_, expression, _): (TextSize, ast::Expr, TextSize), @@ -29332,7 +30468,7 @@ fn __action53< } #[allow(clippy::too_many_arguments)] -fn __action54< +fn __action55< >( (_, __0, _): (TextSize, ast::Stmt, TextSize), ) -> ast::Stmt @@ -29341,7 +30477,7 @@ fn __action54< } #[allow(clippy::too_many_arguments)] -fn __action55< +fn __action56< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29356,7 +30492,7 @@ fn __action55< } #[allow(clippy::too_many_arguments)] -fn __action56< +fn __action57< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29373,7 +30509,7 @@ fn __action56< } #[allow(clippy::too_many_arguments)] -fn __action57< +fn __action58< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29389,7 +30525,7 @@ fn __action57< } #[allow(clippy::too_many_arguments)] -fn __action58< +fn __action59< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29413,7 +30549,7 @@ fn __action58< } #[allow(clippy::too_many_arguments)] -fn __action59< +fn __action60< >( (_, dots, _): (TextSize, alloc::vec::Vec, TextSize), (_, name, _): (TextSize, ast::Identifier, TextSize), @@ -29425,7 +30561,7 @@ fn __action59< } #[allow(clippy::too_many_arguments)] -fn __action60< +fn __action61< >( (_, dots, _): (TextSize, alloc::vec::Vec, TextSize), ) -> (Option, Option) @@ -29436,7 +30572,7 @@ fn __action60< } #[allow(clippy::too_many_arguments)] -fn __action61< +fn __action62< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Int @@ -29445,7 +30581,7 @@ fn __action61< } #[allow(clippy::too_many_arguments)] -fn __action62< +fn __action63< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Int @@ -29454,7 +30590,7 @@ fn __action62< } #[allow(clippy::too_many_arguments)] -fn __action63< +fn __action64< >( (_, location, _): (TextSize, TextSize, TextSize), (_, i, _): (TextSize, Vec, TextSize), @@ -29465,7 +30601,7 @@ fn __action63< } #[allow(clippy::too_many_arguments)] -fn __action64< +fn __action65< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29479,7 +30615,7 @@ fn __action64< } #[allow(clippy::too_many_arguments)] -fn __action65< +fn __action66< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29488,24 +30624,28 @@ fn __action65< { { // Star import all - vec![ast::Alias { name: ast::Identifier::new("*"), asname: None, range: (location..end_location).into() }] + vec![ast::Alias { name: ast::Identifier::new("*", (location..end_location).into()), asname: None, range: (location..end_location).into() }] } } #[allow(clippy::too_many_arguments)] -fn __action66< +fn __action67< >( + (_, location, _): (TextSize, TextSize, TextSize), (_, n, _): (TextSize, String, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Identifier { - ast::Identifier::new(n) + ast::Identifier::new(n, (location..end_location).into()) } #[allow(clippy::too_many_arguments)] -fn __action67< +fn __action68< >( + (_, location, _): (TextSize, TextSize, TextSize), (_, n, _): (TextSize, String, TextSize), (_, n2, _): (TextSize, alloc::vec::Vec<(token::Tok, ast::Identifier)>, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Identifier { { @@ -29514,12 +30654,12 @@ fn __action67< r.push('.'); r.push_str(x.1.as_str()); } - ast::Identifier::new(r) + ast::Identifier::new(r, (location..end_location).into()) } } #[allow(clippy::too_many_arguments)] -fn __action68< +fn __action69< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29535,7 +30675,7 @@ fn __action68< } #[allow(clippy::too_many_arguments)] -fn __action69< +fn __action70< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29551,7 +30691,7 @@ fn __action69< } #[allow(clippy::too_many_arguments)] -fn __action70< +fn __action71< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29571,15 +30711,6 @@ fn __action70< } } -#[allow(clippy::too_many_arguments)] -fn __action71< ->( - (_, __0, _): (TextSize, ast::Stmt, TextSize), -) -> ast::Stmt -{ - __0 -} - #[allow(clippy::too_many_arguments)] fn __action72< >( @@ -29645,6 +30776,15 @@ fn __action78< #[allow(clippy::too_many_arguments)] fn __action79< +>( + (_, __0, _): (TextSize, ast::Stmt, TextSize), +) -> ast::Stmt +{ + __0 +} + +#[allow(clippy::too_many_arguments)] +fn __action80< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29675,7 +30815,7 @@ fn __action79< } #[allow(clippy::too_many_arguments)] -fn __action80< +fn __action81< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29707,7 +30847,7 @@ fn __action80< } #[allow(clippy::too_many_arguments)] -fn __action81< +fn __action82< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29745,7 +30885,7 @@ fn __action81< } #[allow(clippy::too_many_arguments)] -fn __action82< +fn __action83< >( (_, start, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29762,13 +30902,13 @@ fn __action82< pattern, guard: guard.map(Box::new), body, - range: optional_range(start, end) + range: (start..end).into() } } } #[allow(clippy::too_many_arguments)] -fn __action83< +fn __action84< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, guard, _): (TextSize, ast::Expr, TextSize), @@ -29780,7 +30920,7 @@ fn __action83< } #[allow(clippy::too_many_arguments)] -fn __action84< +fn __action85< >( (_, location, _): (TextSize, TextSize, TextSize), (_, pattern, _): (TextSize, ast::Pattern, TextSize), @@ -29797,7 +30937,7 @@ fn __action84< } #[allow(clippy::too_many_arguments)] -fn __action85< +fn __action86< >( (_, location, _): (TextSize, TextSize, TextSize), (_, patterns, _): (TextSize, Vec, TextSize), @@ -29816,7 +30956,7 @@ fn __action85< } #[allow(clippy::too_many_arguments)] -fn __action86< +fn __action87< >( (_, pattern, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29825,7 +30965,7 @@ fn __action86< } #[allow(clippy::too_many_arguments)] -fn __action87< +fn __action88< >( (_, pattern, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29834,7 +30974,7 @@ fn __action87< } #[allow(clippy::too_many_arguments)] -fn __action88< +fn __action89< >( (_, pattern, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29843,7 +30983,7 @@ fn __action88< } #[allow(clippy::too_many_arguments)] -fn __action89< +fn __action90< >( (_, location, _): (TextSize, TextSize, TextSize), (_, pattern, _): (TextSize, ast::Pattern, TextSize), @@ -29871,7 +31011,7 @@ fn __action89< } #[allow(clippy::too_many_arguments)] -fn __action90< +fn __action91< >( (_, pattern, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29880,7 +31020,7 @@ fn __action90< } #[allow(clippy::too_many_arguments)] -fn __action91< +fn __action92< >( (_, location, _): (TextSize, TextSize, TextSize), (_, patterns, _): (TextSize, Vec, TextSize), @@ -29895,7 +31035,7 @@ fn __action91< } #[allow(clippy::too_many_arguments)] -fn __action92< +fn __action93< >( (_, node, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29904,7 +31044,7 @@ fn __action92< } #[allow(clippy::too_many_arguments)] -fn __action93< +fn __action94< >( (_, node, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29913,7 +31053,7 @@ fn __action93< } #[allow(clippy::too_many_arguments)] -fn __action94< +fn __action95< >( (_, node, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29922,7 +31062,7 @@ fn __action94< } #[allow(clippy::too_many_arguments)] -fn __action95< +fn __action96< >( (_, node, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29931,7 +31071,7 @@ fn __action95< } #[allow(clippy::too_many_arguments)] -fn __action96< +fn __action97< >( (_, node, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29940,7 +31080,7 @@ fn __action96< } #[allow(clippy::too_many_arguments)] -fn __action97< +fn __action98< >( (_, node, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29949,7 +31089,7 @@ fn __action97< } #[allow(clippy::too_many_arguments)] -fn __action98< +fn __action99< >( (_, node, _): (TextSize, ast::Pattern, TextSize), ) -> ast::Pattern @@ -29958,7 +31098,7 @@ fn __action98< } #[allow(clippy::too_many_arguments)] -fn __action99< +fn __action100< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29971,7 +31111,7 @@ fn __action99< } #[allow(clippy::too_many_arguments)] -fn __action100< +fn __action101< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -29986,7 +31126,7 @@ fn __action100< } #[allow(clippy::too_many_arguments)] -fn __action101< +fn __action102< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30005,7 +31145,7 @@ fn __action101< } #[allow(clippy::too_many_arguments)] -fn __action102< +fn __action103< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30027,7 +31167,7 @@ fn __action102< } #[allow(clippy::too_many_arguments)] -fn __action103< +fn __action104< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30043,7 +31183,7 @@ fn __action103< } #[allow(clippy::too_many_arguments)] -fn __action104< +fn __action105< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30058,7 +31198,7 @@ fn __action104< } #[allow(clippy::too_many_arguments)] -fn __action105< +fn __action106< >( (_, location, _): (TextSize, TextSize, TextSize), (_, value, _): (TextSize, ast::Constant, TextSize), @@ -30071,7 +31211,7 @@ fn __action105< } #[allow(clippy::too_many_arguments)] -fn __action106< +fn __action107< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -30080,7 +31220,7 @@ fn __action106< } #[allow(clippy::too_many_arguments)] -fn __action107< +fn __action108< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30098,7 +31238,7 @@ fn __action107< } #[allow(clippy::too_many_arguments)] -fn __action108< +fn __action109< >( (_, location, _): (TextSize, TextSize, TextSize), (_, left, _): (TextSize, ast::Expr, TextSize), @@ -30118,7 +31258,7 @@ fn __action108< } #[allow(clippy::too_many_arguments)] -fn __action109< +fn __action110< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30132,7 +31272,7 @@ fn __action109< } #[allow(clippy::too_many_arguments)] -fn __action110< +fn __action111< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30146,7 +31286,7 @@ fn __action110< } #[allow(clippy::too_many_arguments)] -fn __action111< +fn __action112< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30160,7 +31300,7 @@ fn __action111< } #[allow(clippy::too_many_arguments)] -fn __action112< +fn __action113< >( (_, location, _): (TextSize, TextSize, TextSize), (_, value, _): (TextSize, ast::Expr, TextSize), @@ -30174,7 +31314,7 @@ fn __action112< } #[allow(clippy::too_many_arguments)] -fn __action113< +fn __action114< >( (_, location, _): (TextSize, TextSize, TextSize), (_, value, _): (TextSize, ast::Expr, TextSize), @@ -30188,7 +31328,7 @@ fn __action113< } #[allow(clippy::too_many_arguments)] -fn __action114< +fn __action115< >( (_, location, _): (TextSize, TextSize, TextSize), (_, s, _): (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), @@ -30202,7 +31342,7 @@ fn __action114< } #[allow(clippy::too_many_arguments)] -fn __action115< +fn __action116< >( (_, location, _): (TextSize, TextSize, TextSize), (_, name, _): (TextSize, ast::Identifier, TextSize), @@ -30217,20 +31357,20 @@ fn __action115< } #[allow(clippy::too_many_arguments)] -fn __action116< +fn __action117< >( (_, location, _): (TextSize, TextSize, TextSize), - (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, id, _): (TextSize, ast::Identifier, TextSize), (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Expr { ast::Expr::Name( - ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() }, + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() }, ) } #[allow(clippy::too_many_arguments)] -fn __action117< +fn __action118< >( (_, location, _): (TextSize, TextSize, TextSize), (_, name, _): (TextSize, ast::Expr, TextSize), @@ -30250,7 +31390,7 @@ fn __action117< } #[allow(clippy::too_many_arguments)] -fn __action118< +fn __action119< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -30270,7 +31410,7 @@ fn __action118< } #[allow(clippy::too_many_arguments)] -fn __action119< +fn __action120< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -30284,7 +31424,7 @@ fn __action119< } #[allow(clippy::too_many_arguments)] -fn __action120< +fn __action121< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -30293,7 +31433,7 @@ fn __action120< } #[allow(clippy::too_many_arguments)] -fn __action121< +fn __action122< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -30302,7 +31442,7 @@ fn __action121< } #[allow(clippy::too_many_arguments)] -fn __action122< +fn __action123< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -30311,7 +31451,7 @@ fn __action122< } #[allow(clippy::too_many_arguments)] -fn __action123< +fn __action124< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30328,7 +31468,7 @@ fn __action123< } #[allow(clippy::too_many_arguments)] -fn __action124< +fn __action125< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30345,7 +31485,7 @@ fn __action124< } #[allow(clippy::too_many_arguments)] -fn __action125< +fn __action126< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30362,7 +31502,7 @@ fn __action125< } #[allow(clippy::too_many_arguments)] -fn __action126< +fn __action127< >( (_, location, _): (TextSize, TextSize, TextSize), (_, s, _): (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), @@ -30372,7 +31512,7 @@ fn __action126< } #[allow(clippy::too_many_arguments)] -fn __action127< +fn __action128< >( (_, k, _): (TextSize, ast::Expr, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30383,7 +31523,7 @@ fn __action127< } #[allow(clippy::too_many_arguments)] -fn __action128< +fn __action129< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30402,7 +31542,7 @@ fn __action128< } #[allow(clippy::too_many_arguments)] -fn __action129< +fn __action130< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30426,7 +31566,7 @@ fn __action129< } #[allow(clippy::too_many_arguments)] -fn __action130< +fn __action131< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30448,7 +31588,7 @@ fn __action130< } #[allow(clippy::too_many_arguments)] -fn __action131< +fn __action132< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30475,7 +31615,7 @@ fn __action131< } #[allow(clippy::too_many_arguments)] -fn __action132< +fn __action133< >( (_, k, _): (TextSize, ast::Identifier, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30486,7 +31626,7 @@ fn __action132< } #[allow(clippy::too_many_arguments)] -fn __action133< +fn __action134< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -30514,7 +31654,7 @@ fn __action133< } #[allow(clippy::too_many_arguments)] -fn __action134< +fn __action135< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -30537,7 +31677,7 @@ fn __action134< } #[allow(clippy::too_many_arguments)] -fn __action135< +fn __action136< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -30563,7 +31703,7 @@ fn __action135< } #[allow(clippy::too_many_arguments)] -fn __action136< +fn __action137< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -30584,7 +31724,7 @@ fn __action136< } #[allow(clippy::too_many_arguments)] -fn __action137< +fn __action138< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -30612,7 +31752,7 @@ fn __action137< } #[allow(clippy::too_many_arguments)] -fn __action138< +fn __action139< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -30635,7 +31775,7 @@ fn __action138< } #[allow(clippy::too_many_arguments)] -fn __action139< +fn __action140< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -30661,7 +31801,7 @@ fn __action139< } #[allow(clippy::too_many_arguments)] -fn __action140< +fn __action141< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -30682,7 +31822,7 @@ fn __action140< } #[allow(clippy::too_many_arguments)] -fn __action141< +fn __action142< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30717,7 +31857,7 @@ fn __action141< } #[allow(clippy::too_many_arguments)] -fn __action142< +fn __action143< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30746,7 +31886,7 @@ fn __action142< } #[allow(clippy::too_many_arguments)] -fn __action143< +fn __action144< >( (_, location, _): (TextSize, TextSize, TextSize), (_, is_async, _): (TextSize, core::option::Option, TextSize), @@ -30778,7 +31918,7 @@ fn __action143< } #[allow(clippy::too_many_arguments)] -fn __action144< +fn __action145< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30812,7 +31952,7 @@ fn __action144< } #[allow(clippy::too_many_arguments)] -fn __action145< +fn __action146< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30846,7 +31986,7 @@ fn __action145< } #[allow(clippy::too_many_arguments)] -fn __action146< +fn __action147< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30872,7 +32012,7 @@ fn __action146< } #[allow(clippy::too_many_arguments)] -fn __action147< +fn __action148< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30896,7 +32036,7 @@ fn __action147< } #[allow(clippy::too_many_arguments)] -fn __action148< +fn __action149< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30920,7 +32060,7 @@ fn __action148< } #[allow(clippy::too_many_arguments)] -fn __action149< +fn __action150< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30943,7 +32083,7 @@ fn __action149< } #[allow(clippy::too_many_arguments)] -fn __action150< +fn __action151< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -30966,7 +32106,7 @@ fn __action150< } #[allow(clippy::too_many_arguments)] -fn __action151< +fn __action152< >( (_, location, _): (TextSize, TextSize, TextSize), (_, is_async, _): (TextSize, core::option::Option, TextSize), @@ -30988,7 +32128,7 @@ fn __action151< } #[allow(clippy::too_many_arguments)] -fn __action152< +fn __action153< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, Vec, TextSize), @@ -31000,7 +32140,7 @@ fn __action152< } #[allow(clippy::too_many_arguments)] -fn __action153< +fn __action154< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, left, _): (TextSize, core::option::Option>, TextSize), @@ -31016,7 +32156,7 @@ fn __action153< } #[allow(clippy::too_many_arguments)] -fn __action154< +fn __action155< >( (_, __0, _): (TextSize, ast::WithItem, TextSize), ) -> Vec @@ -31025,7 +32165,7 @@ fn __action154< } #[allow(clippy::too_many_arguments)] -fn __action155< +fn __action156< >( (_, item, _): (TextSize, ast::WithItem, TextSize), (_, items, _): (TextSize, alloc::vec::Vec, TextSize), @@ -31037,7 +32177,7 @@ fn __action155< } #[allow(clippy::too_many_arguments)] -fn __action156< +fn __action157< >( (_, location, _): (TextSize, TextSize, TextSize), (_, all, _): (TextSize, Vec, TextSize), @@ -31045,18 +32185,19 @@ fn __action156< ) -> Vec { { - all.into_iter().map(|context_expr| ast::WithItem { context_expr, optional_vars: None, range: optional_range(location, end_location) }).collect() + all.into_iter().map(|context_expr| ast::WithItem { context_expr, optional_vars: None, range: (location..end_location).into() }).collect() } } #[allow(clippy::too_many_arguments)] -fn __action157< +fn __action158< >( - (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), (_, location, _): (TextSize, TextSize, TextSize), + (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), (_, is_async, _): (TextSize, core::option::Option, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, type_params, _): (TextSize, core::option::Option>, TextSize), (_, args, _): (TextSize, ast::Arguments, TextSize), (_, r, _): (TextSize, core::option::Option, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -31069,15 +32210,52 @@ fn __action157< let end_location = body.last().unwrap().end(); let type_comment = None; if is_async.is_some() { - ast::StmtAsyncFunctionDef { name, args, body, decorator_list, returns, type_comment, range: (location..end_location).into() }.into() + ast::StmtAsyncFunctionDef { name, args, body, decorator_list, returns, type_comment, type_params: type_params.unwrap_or_default(), range: (location..end_location).into() }.into() } else { - ast::StmtFunctionDef { name, args, body, decorator_list, returns, type_comment, range: (location..end_location).into() }.into() + ast::StmtFunctionDef { name, args, body, decorator_list, returns, type_comment, type_params: type_params.unwrap_or_default(), range: (location..end_location).into() }.into() } } } #[allow(clippy::too_many_arguments)] -fn __action158< +fn __action159< +>( + (_, location, _): (TextSize, TextSize, TextSize), + (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), +) -> ast::Expr +{ + ast::Expr::Name( + ast::ExprName { id: name.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() }, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action160< +>( + (_, location, _): (TextSize, TextSize, TextSize), + (_, _, _): (TextSize, token::Tok, TextSize), + (_, name, _): (TextSize, ast::Expr, TextSize), + (_, type_params, _): (TextSize, core::option::Option>, TextSize), + (_, _, _): (TextSize, token::Tok, TextSize), + (_, value, _): (TextSize, ast::Expr, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), +) -> ast::Stmt +{ + { + ast::Stmt::TypeAlias( + ast::StmtTypeAlias { + name: Box::new(name), + value: Box::new(value), + type_params: type_params.unwrap_or_default(), + range: (location..end_location).into() + }, + ) + } +} + +#[allow(clippy::too_many_arguments)] +fn __action161< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -31088,15 +32266,21 @@ fn __action158< { { a.as_ref().map(validate_arguments).transpose()?; + + let range = (location..end_location).into(); let args = a - .unwrap_or_else(|| ast::Arguments::empty(optional_range(location, end_location))); + .map(|mut arguments| { + arguments.range = range; + arguments + }) + .unwrap_or_else(|| ast::Arguments::empty(range)); Ok(args) } } #[allow(clippy::too_many_arguments)] -fn __action159< +fn __action162< >( (_, location, _): (TextSize, TextSize, TextSize), (_, arg, _): (TextSize, ast::Identifier, TextSize), @@ -31105,12 +32289,12 @@ fn __action159< { { let def = ast::Arg { arg, annotation: None, type_comment: None, range: (location..end_location).into() }; - ast::ArgWithDefault { def, default: None, range: optional_range(location, end_location) } + ast::ArgWithDefault { def, default: None, range: (location..end_location).into() } } } #[allow(clippy::too_many_arguments)] -fn __action160< +fn __action163< >( (_, location, _): (TextSize, TextSize, TextSize), (_, arg, _): (TextSize, ast::Identifier, TextSize), @@ -31121,7 +32305,7 @@ fn __action160< } #[allow(clippy::too_many_arguments)] -fn __action161< +fn __action164< >( (_, location, _): (TextSize, TextSize, TextSize), (_, arg, _): (TextSize, ast::Identifier, TextSize), @@ -31132,12 +32316,12 @@ fn __action161< { let annotation = a.map(Box::new); let def = ast::Arg { arg, annotation, type_comment: None, range: (location..end_location).into() }; - ast::ArgWithDefault { def, default: None, range: optional_range(location, end_location) } + ast::ArgWithDefault { def, default: None, range: (location..end_location).into() } } } #[allow(clippy::too_many_arguments)] -fn __action162< +fn __action165< >( (_, location, _): (TextSize, TextSize, TextSize), (_, arg, _): (TextSize, ast::Identifier, TextSize), @@ -31152,7 +32336,7 @@ fn __action162< } #[allow(clippy::too_many_arguments)] -fn __action163< +fn __action166< >( (_, location, _): (TextSize, TextSize, TextSize), (_, arg, _): (TextSize, ast::Identifier, TextSize), @@ -31167,12 +32351,13 @@ fn __action163< } #[allow(clippy::too_many_arguments)] -fn __action164< +fn __action167< >( - (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), (_, location, _): (TextSize, TextSize, TextSize), + (_, decorator_list, _): (TextSize, alloc::vec::Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, type_params, _): (TextSize, core::option::Option>, TextSize), (_, a, _): (TextSize, core::option::Option<(token::Tok, ArgumentList, token::Tok)>, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, body, _): (TextSize, ast::Suite, TextSize), @@ -31191,6 +32376,7 @@ fn __action164< keywords, body, decorator_list, + type_params: type_params.unwrap_or_default(), range: (location..end_location).into() }, ) @@ -31198,21 +32384,86 @@ fn __action164< } #[allow(clippy::too_many_arguments)] -fn __action165< +fn __action168< +>( + (_, location, _): (TextSize, TextSize, TextSize), + (_, _, _): (TextSize, token::Tok, TextSize), + (_, vars, _): (TextSize, Vec, TextSize), + (_, _, _): (TextSize, core::option::Option, TextSize), + (_, _, _): (TextSize, token::Tok, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), +) -> Vec +{ + { + vars + } +} + +#[allow(clippy::too_many_arguments)] +fn __action169< +>( + (_, location, _): (TextSize, TextSize, TextSize), + (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, bound, _): (TextSize, core::option::Option, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), +) -> ast::TypeParam +{ + { + ast::TypeParam::TypeVar( + ast::TypeParamTypeVar { name, bound: bound.map(Box::new), range: (location..end_location).into() } + ) + } +} + +#[allow(clippy::too_many_arguments)] +fn __action170< +>( + (_, location, _): (TextSize, TextSize, TextSize), + (_, _, _): (TextSize, token::Tok, TextSize), + (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), +) -> ast::TypeParam +{ + { + ast::TypeParam::TypeVarTuple( + ast::TypeParamTypeVarTuple { name, range: (location..end_location).into() } + ) + } +} + +#[allow(clippy::too_many_arguments)] +fn __action171< +>( + (_, location, _): (TextSize, TextSize, TextSize), + (_, _, _): (TextSize, token::Tok, TextSize), + (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), +) -> ast::TypeParam +{ + { + ast::TypeParam::ParamSpec( + ast::TypeParamParamSpec { name, range: (location..end_location).into() } + ) + } +} + +#[allow(clippy::too_many_arguments)] +fn __action172< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, p, _): (TextSize, ast::Expr, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), -) -> ast::Expr +) -> ast::Decorator { { - p + ast::Decorator { range: (location..end_location).into(), expression: p } } } #[allow(clippy::too_many_arguments)] -fn __action166< +fn __action173< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -31226,7 +32477,7 @@ fn __action166< } #[allow(clippy::too_many_arguments)] -fn __action167< +fn __action174< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -31241,7 +32492,7 @@ fn __action167< } #[allow(clippy::too_many_arguments)] -fn __action168< +fn __action175< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -31250,7 +32501,7 @@ fn __action168< } #[allow(clippy::too_many_arguments)] -fn __action169< +fn __action176< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -31259,7 +32510,7 @@ fn __action169< } #[allow(clippy::too_many_arguments)] -fn __action170< +fn __action177< >( (_, location, _): (TextSize, TextSize, TextSize), (_, id, _): (TextSize, ast::Identifier, TextSize), @@ -31272,7 +32523,7 @@ fn __action170< ast::Expr::NamedExpr( ast::ExprNamedExpr { target: Box::new(ast::Expr::Name( - ast::ExprName { id, ctx: ast::ExprContext::Store, range: (location..end_location).into() }, + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Store, range: (location..end_location).into() }, )), range: (location..value.end()).into(), value: Box::new(value), @@ -31282,7 +32533,7 @@ fn __action170< } #[allow(clippy::too_many_arguments)] -fn __action171< +fn __action178< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -31295,7 +32546,7 @@ fn __action171< { p.as_ref().map(validate_arguments).transpose()?; let p = p - .unwrap_or_else(|| ast::Arguments::empty(optional_range(location, end_location))); + .unwrap_or_else(|| ast::Arguments::empty((location..end_location).into())); Ok(ast::Expr::Lambda( ast::ExprLambda { @@ -31308,7 +32559,7 @@ fn __action171< } #[allow(clippy::too_many_arguments)] -fn __action172< +fn __action179< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::CmpOp @@ -31317,7 +32568,7 @@ fn __action172< } #[allow(clippy::too_many_arguments)] -fn __action173< +fn __action180< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::CmpOp @@ -31326,7 +32577,7 @@ fn __action173< } #[allow(clippy::too_many_arguments)] -fn __action174< +fn __action181< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::CmpOp @@ -31335,7 +32586,7 @@ fn __action174< } #[allow(clippy::too_many_arguments)] -fn __action175< +fn __action182< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::CmpOp @@ -31344,7 +32595,7 @@ fn __action175< } #[allow(clippy::too_many_arguments)] -fn __action176< +fn __action183< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::CmpOp @@ -31353,7 +32604,7 @@ fn __action176< } #[allow(clippy::too_many_arguments)] -fn __action177< +fn __action184< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::CmpOp @@ -31362,7 +32613,7 @@ fn __action177< } #[allow(clippy::too_many_arguments)] -fn __action178< +fn __action185< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::CmpOp @@ -31371,7 +32622,7 @@ fn __action178< } #[allow(clippy::too_many_arguments)] -fn __action179< +fn __action186< >( (_, __0, _): (TextSize, token::Tok, TextSize), (_, __1, _): (TextSize, token::Tok, TextSize), @@ -31381,7 +32632,7 @@ fn __action179< } #[allow(clippy::too_many_arguments)] -fn __action180< +fn __action187< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::CmpOp @@ -31390,7 +32641,7 @@ fn __action180< } #[allow(clippy::too_many_arguments)] -fn __action181< +fn __action188< >( (_, __0, _): (TextSize, token::Tok, TextSize), (_, __1, _): (TextSize, token::Tok, TextSize), @@ -31400,7 +32651,7 @@ fn __action181< } #[allow(clippy::too_many_arguments)] -fn __action182< +fn __action189< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -31409,7 +32660,7 @@ fn __action182< } #[allow(clippy::too_many_arguments)] -fn __action183< +fn __action190< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -31418,7 +32669,7 @@ fn __action183< } #[allow(clippy::too_many_arguments)] -fn __action184< +fn __action191< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -31427,7 +32678,7 @@ fn __action184< } #[allow(clippy::too_many_arguments)] -fn __action185< +fn __action192< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -31436,7 +32687,7 @@ fn __action185< } #[allow(clippy::too_many_arguments)] -fn __action186< +fn __action193< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -31445,7 +32696,7 @@ fn __action186< } #[allow(clippy::too_many_arguments)] -fn __action187< +fn __action194< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -31454,7 +32705,7 @@ fn __action187< } #[allow(clippy::too_many_arguments)] -fn __action188< +fn __action195< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -31463,7 +32714,7 @@ fn __action188< } #[allow(clippy::too_many_arguments)] -fn __action189< +fn __action196< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -31472,7 +32723,7 @@ fn __action189< } #[allow(clippy::too_many_arguments)] -fn __action190< +fn __action197< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::Operator @@ -31481,7 +32732,7 @@ fn __action190< } #[allow(clippy::too_many_arguments)] -fn __action191< +fn __action198< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::UnaryOp @@ -31490,7 +32741,7 @@ fn __action191< } #[allow(clippy::too_many_arguments)] -fn __action192< +fn __action199< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::UnaryOp @@ -31499,7 +32750,7 @@ fn __action192< } #[allow(clippy::too_many_arguments)] -fn __action193< +fn __action200< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> ast::UnaryOp @@ -31508,7 +32759,7 @@ fn __action193< } #[allow(clippy::too_many_arguments)] -fn __action194< +fn __action201< >( (_, location, _): (TextSize, TextSize, TextSize), (_, s1, _): (TextSize, ast::Expr, TextSize), @@ -31521,7 +32772,7 @@ fn __action194< } #[allow(clippy::too_many_arguments)] -fn __action195< +fn __action202< >( (_, location, _): (TextSize, TextSize, TextSize), (_, s1, _): (TextSize, ast::Expr, TextSize), @@ -31537,7 +32788,7 @@ fn __action195< } #[allow(clippy::too_many_arguments)] -fn __action196< +fn __action203< >( (_, location, _): (TextSize, TextSize, TextSize), (_, elts, _): (TextSize, Vec, TextSize), @@ -31553,7 +32804,7 @@ fn __action196< } #[allow(clippy::too_many_arguments)] -fn __action197< +fn __action204< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -31562,7 +32813,7 @@ fn __action197< } #[allow(clippy::too_many_arguments)] -fn __action198< +fn __action205< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e1, _): (TextSize, core::option::Option, TextSize), @@ -31583,7 +32834,7 @@ fn __action198< } #[allow(clippy::too_many_arguments)] -fn __action199< +fn __action206< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -31594,7 +32845,7 @@ fn __action199< } #[allow(clippy::too_many_arguments)] -fn __action200< +fn __action207< >( (_, e, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, core::option::Option, TextSize), @@ -31604,7 +32855,7 @@ fn __action200< } #[allow(clippy::too_many_arguments)] -fn __action201< +fn __action208< >( (_, elements, _): (TextSize, Vec<(Option>, ast::Expr)>, TextSize), (_, _, _): (TextSize, core::option::Option, TextSize), @@ -31614,7 +32865,7 @@ fn __action201< } #[allow(clippy::too_many_arguments)] -fn __action202< +fn __action209< >( (_, e1, _): (TextSize, ast::Expr, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -31625,7 +32876,7 @@ fn __action202< } #[allow(clippy::too_many_arguments)] -fn __action203< +fn __action210< >( (_, e, _): (TextSize, (ast::Expr, ast::Expr), TextSize), ) -> (Option>, ast::Expr) @@ -31634,7 +32885,7 @@ fn __action203< } #[allow(clippy::too_many_arguments)] -fn __action204< +fn __action211< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -31644,7 +32895,7 @@ fn __action204< } #[allow(clippy::too_many_arguments)] -fn __action205< +fn __action212< >( (_, e1, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, core::option::Option, TextSize), @@ -31654,7 +32905,7 @@ fn __action205< } #[allow(clippy::too_many_arguments)] -fn __action206< +fn __action213< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -31663,7 +32914,7 @@ fn __action206< } #[allow(clippy::too_many_arguments)] -fn __action207< +fn __action214< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -31672,7 +32923,7 @@ fn __action207< } #[allow(clippy::too_many_arguments)] -fn __action208< +fn __action215< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -31681,7 +32932,7 @@ fn __action208< } #[allow(clippy::too_many_arguments)] -fn __action209< +fn __action216< >( (_, elements, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, core::option::Option, TextSize), @@ -31691,7 +32942,7 @@ fn __action209< } #[allow(clippy::too_many_arguments)] -fn __action210< +fn __action217< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -31700,7 +32951,7 @@ fn __action210< } #[allow(clippy::too_many_arguments)] -fn __action211< +fn __action218< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -31714,7 +32965,7 @@ fn __action211< } #[allow(clippy::too_many_arguments)] -fn __action212< +fn __action219< >( (_, c, _): (TextSize, alloc::vec::Vec, TextSize), ) -> Vec @@ -31723,7 +32974,7 @@ fn __action212< } #[allow(clippy::too_many_arguments)] -fn __action213< +fn __action220< >( (_, location, _): (TextSize, TextSize, TextSize), (_, is_async, _): (TextSize, core::option::Option, TextSize), @@ -31742,13 +32993,13 @@ fn __action213< iter, ifs, is_async, - range: optional_range(location, end_location) + range: (location..end_location).into() } } } #[allow(clippy::too_many_arguments)] -fn __action214< +fn __action221< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -31757,7 +33008,7 @@ fn __action214< } #[allow(clippy::too_many_arguments)] -fn __action215< +fn __action222< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, c, _): (TextSize, ast::Expr, TextSize), @@ -31767,7 +33018,7 @@ fn __action215< } #[allow(clippy::too_many_arguments)] -fn __action216< +fn __action223< >( (_, e, _): (TextSize, Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Result> @@ -31779,7 +33030,7 @@ fn __action216< } #[allow(clippy::too_many_arguments)] -fn __action217< +fn __action224< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -31803,7 +33054,7 @@ fn __action217< } #[allow(clippy::too_many_arguments)] -fn __action218< +fn __action225< >( (_, location, _): (TextSize, TextSize, TextSize), (_, i, _): (TextSize, ast::Identifier, TextSize), @@ -31816,7 +33067,7 @@ fn __action218< } #[allow(clippy::too_many_arguments)] -fn __action219< +fn __action226< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -31833,7 +33084,7 @@ fn __action219< } #[allow(clippy::too_many_arguments)] -fn __action220< +fn __action227< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -31845,7 +33096,7 @@ fn __action220< } #[allow(clippy::too_many_arguments)] -fn __action221< +fn __action228< >( (_, value, _): (TextSize, BigInt, TextSize), ) -> ast::Constant @@ -31854,7 +33105,7 @@ fn __action221< } #[allow(clippy::too_many_arguments)] -fn __action222< +fn __action229< >( (_, value, _): (TextSize, f64, TextSize), ) -> ast::Constant @@ -31863,7 +33114,7 @@ fn __action222< } #[allow(clippy::too_many_arguments)] -fn __action223< +fn __action230< >( (_, s, _): (TextSize, (f64, f64), TextSize), ) -> ast::Constant @@ -31872,16 +33123,18 @@ fn __action223< } #[allow(clippy::too_many_arguments)] -fn __action224< +fn __action231< >( + (_, location, _): (TextSize, TextSize, TextSize), (_, s, _): (TextSize, String, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Identifier { - ast::Identifier::new(s) + ast::Identifier::new(s, (location..end_location).into()) } #[allow(clippy::too_many_arguments)] -fn __action225< +fn __action232< >( (_, __0, _): (TextSize, Vec, TextSize), ) -> core::option::Option> @@ -31890,7 +33143,7 @@ fn __action225< } #[allow(clippy::too_many_arguments)] -fn __action226< +fn __action233< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -31900,7 +33153,7 @@ fn __action226< } #[allow(clippy::too_many_arguments)] -fn __action227< +fn __action234< >( (_, mut v, _): (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), (_, last, _): (TextSize, core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), @@ -31915,7 +33168,7 @@ fn __action227< } #[allow(clippy::too_many_arguments)] -fn __action228< +fn __action235< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -31925,7 +33178,7 @@ fn __action228< } #[allow(clippy::too_many_arguments)] -fn __action229< +fn __action236< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), ) -> alloc::vec::Vec @@ -31934,7 +33187,7 @@ fn __action229< } #[allow(clippy::too_many_arguments)] -fn __action230< +fn __action237< >( (_, location, _): (TextSize, TextSize, TextSize), (_, mut values, _): (TextSize, alloc::vec::Vec, TextSize), @@ -31951,7 +33204,7 @@ fn __action230< } #[allow(clippy::too_many_arguments)] -fn __action231< +fn __action238< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -31960,7 +33213,7 @@ fn __action231< } #[allow(clippy::too_many_arguments)] -fn __action232< +fn __action239< >( (_, __0, _): (TextSize, ast::Comprehension, TextSize), ) -> alloc::vec::Vec @@ -31969,7 +33222,7 @@ fn __action232< } #[allow(clippy::too_many_arguments)] -fn __action233< +fn __action240< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::Comprehension, TextSize), @@ -31979,7 +33232,7 @@ fn __action233< } #[allow(clippy::too_many_arguments)] -fn __action234< +fn __action241< >( (_, location, _): (TextSize, TextSize, TextSize), (_, elts, _): (TextSize, Vec, TextSize), @@ -31999,7 +33252,7 @@ fn __action234< } #[allow(clippy::too_many_arguments)] -fn __action235< +fn __action242< >( (_, e, _): (TextSize, ast::Expr, TextSize), ) -> Vec @@ -32008,7 +33261,7 @@ fn __action235< } #[allow(clippy::too_many_arguments)] -fn __action236< +fn __action243< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32022,7 +33275,7 @@ fn __action236< } #[allow(clippy::too_many_arguments)] -fn __action237< +fn __action244< >( (_, location, _): (TextSize, TextSize, TextSize), (_, elts, _): (TextSize, Vec, TextSize), @@ -32042,7 +33295,7 @@ fn __action237< } #[allow(clippy::too_many_arguments)] -fn __action238< +fn __action245< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e1, _): (TextSize, ast::Expr, TextSize), @@ -32057,7 +33310,7 @@ fn __action238< } #[allow(clippy::too_many_arguments)] -fn __action239< +fn __action246< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -32066,7 +33319,7 @@ fn __action239< } #[allow(clippy::too_many_arguments)] -fn __action240< +fn __action247< >( (_, e, _): (TextSize, (Option>, ast::Expr), TextSize), ) -> Vec<(Option>, ast::Expr)> @@ -32075,7 +33328,7 @@ fn __action240< } #[allow(clippy::too_many_arguments)] -fn __action241< +fn __action248< >( (_, mut v, _): (TextSize, Vec<(Option>, ast::Expr)>, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32089,7 +33342,7 @@ fn __action241< } #[allow(clippy::too_many_arguments)] -fn __action242< +fn __action249< >( (_, e, _): (TextSize, ast::Expr, TextSize), ) -> Vec @@ -32098,7 +33351,7 @@ fn __action242< } #[allow(clippy::too_many_arguments)] -fn __action243< +fn __action250< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32112,7 +33365,7 @@ fn __action243< } #[allow(clippy::too_many_arguments)] -fn __action244< +fn __action251< >( (_, __0, _): (TextSize, Option, TextSize), ) -> core::option::Option> @@ -32121,7 +33374,7 @@ fn __action244< } #[allow(clippy::too_many_arguments)] -fn __action245< +fn __action252< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32131,7 +33384,7 @@ fn __action245< } #[allow(clippy::too_many_arguments)] -fn __action246< +fn __action253< >( (_, e1, _): (TextSize, ast::Expr, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32142,7 +33395,7 @@ fn __action246< } #[allow(clippy::too_many_arguments)] -fn __action247< +fn __action254< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32156,7 +33409,7 @@ fn __action247< } #[allow(clippy::too_many_arguments)] -fn __action248< +fn __action255< >( (_, __0, _): (TextSize, ast::Arguments, TextSize), ) -> core::option::Option @@ -32165,7 +33418,7 @@ fn __action248< } #[allow(clippy::too_many_arguments)] -fn __action249< +fn __action256< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32175,7 +33428,7 @@ fn __action249< } #[allow(clippy::too_many_arguments)] -fn __action250< +fn __action257< >( (_, location, _): (TextSize, TextSize, TextSize), (_, param1, _): (TextSize, (Vec, Vec), TextSize), @@ -32197,13 +33450,13 @@ fn __action250< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) } } #[allow(clippy::too_many_arguments)] -fn __action251< +fn __action258< >( (_, location, _): (TextSize, TextSize, TextSize), (_, param1, _): (TextSize, (Vec, Vec), TextSize), @@ -32227,13 +33480,13 @@ fn __action251< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) } } #[allow(clippy::too_many_arguments)] -fn __action252< +fn __action259< >( (_, location, _): (TextSize, TextSize, TextSize), (_, params, _): (TextSize, (Option>, Vec, Option>), TextSize), @@ -32249,13 +33502,13 @@ fn __action252< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } } } #[allow(clippy::too_many_arguments)] -fn __action253< +fn __action260< >( (_, location, _): (TextSize, TextSize, TextSize), (_, kwarg, _): (TextSize, Option>, TextSize), @@ -32270,13 +33523,36 @@ fn __action253< kwonlyargs: vec![], vararg: None, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } } } #[allow(clippy::too_many_arguments)] -fn __action254< +fn __action261< +>( + (_, e, _): (TextSize, ast::TypeParam, TextSize), +) -> Vec +{ + vec![e] +} + +#[allow(clippy::too_many_arguments)] +fn __action262< +>( + (_, mut v, _): (TextSize, Vec, TextSize), + (_, _, _): (TextSize, token::Tok, TextSize), + (_, e, _): (TextSize, ast::TypeParam, TextSize), +) -> Vec +{ + { + v.push(e); + v + } +} + +#[allow(clippy::too_many_arguments)] +fn __action263< >( (_, __0, _): (TextSize, (token::Tok, ArgumentList, token::Tok), TextSize), ) -> core::option::Option<(token::Tok, ArgumentList, token::Tok)> @@ -32285,7 +33561,7 @@ fn __action254< } #[allow(clippy::too_many_arguments)] -fn __action255< +fn __action264< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32295,7 +33571,7 @@ fn __action255< } #[allow(clippy::too_many_arguments)] -fn __action256< +fn __action265< >( (_, __0, _): (TextSize, token::Tok, TextSize), (_, __1, _): (TextSize, ArgumentList, TextSize), @@ -32306,7 +33582,7 @@ fn __action256< } #[allow(clippy::too_many_arguments)] -fn __action257< +fn __action266< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -32315,7 +33591,7 @@ fn __action257< } #[allow(clippy::too_many_arguments)] -fn __action258< +fn __action267< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32325,7 +33601,7 @@ fn __action258< } #[allow(clippy::too_many_arguments)] -fn __action259< +fn __action268< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, ast::Expr, TextSize), @@ -32335,7 +33611,7 @@ fn __action259< } #[allow(clippy::too_many_arguments)] -fn __action260< +fn __action269< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -32344,7 +33620,7 @@ fn __action260< } #[allow(clippy::too_many_arguments)] -fn __action261< +fn __action270< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32354,7 +33630,7 @@ fn __action261< } #[allow(clippy::too_many_arguments)] -fn __action262< +fn __action271< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, ast::Expr, TextSize), @@ -32364,7 +33640,7 @@ fn __action262< } #[allow(clippy::too_many_arguments)] -fn __action263< +fn __action272< >( (_, __0, _): (TextSize, ast::Arguments, TextSize), ) -> core::option::Option @@ -32373,7 +33649,7 @@ fn __action263< } #[allow(clippy::too_many_arguments)] -fn __action264< +fn __action273< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32383,7 +33659,7 @@ fn __action264< } #[allow(clippy::too_many_arguments)] -fn __action265< +fn __action274< >( (_, __0, _): (TextSize, ast::Arguments, TextSize), ) -> ast::Arguments @@ -32392,7 +33668,7 @@ fn __action265< } #[allow(clippy::too_many_arguments)] -fn __action266< +fn __action275< >( (_, location, _): (TextSize, TextSize, TextSize), (_, param1, _): (TextSize, (Vec, Vec), TextSize), @@ -32414,13 +33690,13 @@ fn __action266< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) } } #[allow(clippy::too_many_arguments)] -fn __action267< +fn __action276< >( (_, location, _): (TextSize, TextSize, TextSize), (_, param1, _): (TextSize, (Vec, Vec), TextSize), @@ -32444,13 +33720,13 @@ fn __action267< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() }) } } #[allow(clippy::too_many_arguments)] -fn __action268< +fn __action277< >( (_, location, _): (TextSize, TextSize, TextSize), (_, params, _): (TextSize, (Option>, Vec, Option>), TextSize), @@ -32466,13 +33742,13 @@ fn __action268< kwonlyargs, vararg, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } } } #[allow(clippy::too_many_arguments)] -fn __action269< +fn __action278< >( (_, location, _): (TextSize, TextSize, TextSize), (_, kwarg, _): (TextSize, Option>, TextSize), @@ -32487,13 +33763,13 @@ fn __action269< kwonlyargs: vec![], vararg: None, kwarg, - range: optional_range(location, end_location) + range: (location..end_location).into() } } } #[allow(clippy::too_many_arguments)] -fn __action270< +fn __action279< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -32502,7 +33778,7 @@ fn __action270< } #[allow(clippy::too_many_arguments)] -fn __action271< +fn __action280< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32512,7 +33788,7 @@ fn __action271< } #[allow(clippy::too_many_arguments)] -fn __action272< +fn __action281< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, ast::Expr, TextSize), @@ -32522,26 +33798,45 @@ fn __action272< } #[allow(clippy::too_many_arguments)] -fn __action273< +fn __action282< +>( + (_, __0, _): (TextSize, Vec, TextSize), +) -> core::option::Option> +{ + Some(__0) +} + +#[allow(clippy::too_many_arguments)] +fn __action283< >( __lookbehind: &TextSize, __lookahead: &TextSize, -) -> alloc::vec::Vec +) -> core::option::Option> +{ + None +} + +#[allow(clippy::too_many_arguments)] +fn __action284< +>( + __lookbehind: &TextSize, + __lookahead: &TextSize, +) -> alloc::vec::Vec { alloc::vec![] } #[allow(clippy::too_many_arguments)] -fn __action274< +fn __action285< >( - (_, v, _): (TextSize, alloc::vec::Vec, TextSize), -) -> alloc::vec::Vec + (_, v, _): (TextSize, alloc::vec::Vec, TextSize), +) -> alloc::vec::Vec { v } #[allow(clippy::too_many_arguments)] -fn __action275< +fn __action286< >( (_, e, _): (TextSize, ast::Expr, TextSize), ) -> Vec @@ -32550,7 +33845,7 @@ fn __action275< } #[allow(clippy::too_many_arguments)] -fn __action276< +fn __action287< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32564,7 +33859,7 @@ fn __action276< } #[allow(clippy::too_many_arguments)] -fn __action277< +fn __action288< >( (_, __0, _): (TextSize, ast::WithItem, TextSize), ) -> alloc::vec::Vec @@ -32573,7 +33868,7 @@ fn __action277< } #[allow(clippy::too_many_arguments)] -fn __action278< +fn __action289< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::WithItem, TextSize), @@ -32583,18 +33878,18 @@ fn __action278< } #[allow(clippy::too_many_arguments)] -fn __action279< +fn __action290< >( (_, location, _): (TextSize, TextSize, TextSize), (_, context_expr, _): (TextSize, ast::Expr, TextSize), (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::WithItem { - ast::WithItem { context_expr, optional_vars: None, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars: None, range: (location..end_location).into() } } #[allow(clippy::too_many_arguments)] -fn __action280< +fn __action291< >( (_, location, _): (TextSize, TextSize, TextSize), (_, context_expr, _): (TextSize, ast::Expr, TextSize), @@ -32605,12 +33900,12 @@ fn __action280< { { let optional_vars = Some(Box::new(set_context(vars, ast::ExprContext::Store))); - ast::WithItem { context_expr, optional_vars, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars, range: (location..end_location).into() } } } #[allow(clippy::too_many_arguments)] -fn __action281< +fn __action292< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32620,7 +33915,7 @@ fn __action281< } #[allow(clippy::too_many_arguments)] -fn __action282< +fn __action293< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), ) -> alloc::vec::Vec @@ -32629,7 +33924,7 @@ fn __action282< } #[allow(clippy::too_many_arguments)] -fn __action283< +fn __action294< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, ast::WithItem, TextSize), @@ -32639,18 +33934,18 @@ fn __action283< } #[allow(clippy::too_many_arguments)] -fn __action284< +fn __action295< >( (_, location, _): (TextSize, TextSize, TextSize), (_, context_expr, _): (TextSize, ast::Expr, TextSize), (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::WithItem { - ast::WithItem { context_expr, optional_vars: None, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars: None, range: (location..end_location).into() } } #[allow(clippy::too_many_arguments)] -fn __action285< +fn __action296< >( (_, location, _): (TextSize, TextSize, TextSize), (_, context_expr, _): (TextSize, ast::Expr, TextSize), @@ -32661,12 +33956,12 @@ fn __action285< { { let optional_vars = Some(Box::new(set_context(vars, ast::ExprContext::Store))); - ast::WithItem { context_expr, optional_vars, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars, range: (location..end_location).into() } } } #[allow(clippy::too_many_arguments)] -fn __action286< +fn __action297< >( (_, location, _): (TextSize, TextSize, TextSize), (_, context_expr, _): (TextSize, ast::Expr, TextSize), @@ -32677,12 +33972,12 @@ fn __action286< { { let optional_vars = Some(Box::new(set_context(vars, ast::ExprContext::Store))); - ast::WithItem { context_expr, optional_vars, range: optional_range(location, end_location) } + ast::WithItem { context_expr, optional_vars, range: (location..end_location).into() } } } #[allow(clippy::too_many_arguments)] -fn __action287< +fn __action298< >( (_, __0, _): (TextSize, Vec, TextSize), ) -> core::option::Option> @@ -32691,7 +33986,7 @@ fn __action287< } #[allow(clippy::too_many_arguments)] -fn __action288< +fn __action299< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32701,7 +33996,7 @@ fn __action288< } #[allow(clippy::too_many_arguments)] -fn __action289< +fn __action300< >( (_, __0, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32711,7 +34006,7 @@ fn __action289< } #[allow(clippy::too_many_arguments)] -fn __action290< +fn __action301< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -32720,7 +34015,7 @@ fn __action290< } #[allow(clippy::too_many_arguments)] -fn __action291< +fn __action302< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32730,7 +34025,7 @@ fn __action291< } #[allow(clippy::too_many_arguments)] -fn __action292< +fn __action303< >( (_, __0, _): (TextSize, ast::Expr, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32741,7 +34036,7 @@ fn __action292< } #[allow(clippy::too_many_arguments)] -fn __action293< +fn __action304< >( (_, __0, _): (TextSize, ast::ExceptHandler, TextSize), ) -> alloc::vec::Vec @@ -32750,7 +34045,7 @@ fn __action293< } #[allow(clippy::too_many_arguments)] -fn __action294< +fn __action305< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::ExceptHandler, TextSize), @@ -32760,7 +34055,7 @@ fn __action294< } #[allow(clippy::too_many_arguments)] -fn __action295< +fn __action306< >( (_, __0, _): (TextSize, ast::Suite, TextSize), ) -> core::option::Option @@ -32769,7 +34064,7 @@ fn __action295< } #[allow(clippy::too_many_arguments)] -fn __action296< +fn __action307< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32779,7 +34074,7 @@ fn __action296< } #[allow(clippy::too_many_arguments)] -fn __action297< +fn __action308< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32790,7 +34085,7 @@ fn __action297< } #[allow(clippy::too_many_arguments)] -fn __action298< +fn __action309< >( (_, __0, _): (TextSize, ast::ExceptHandler, TextSize), ) -> alloc::vec::Vec @@ -32799,7 +34094,7 @@ fn __action298< } #[allow(clippy::too_many_arguments)] -fn __action299< +fn __action310< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::ExceptHandler, TextSize), @@ -32809,7 +34104,7 @@ fn __action299< } #[allow(clippy::too_many_arguments)] -fn __action300< +fn __action311< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> core::option::Option @@ -32818,7 +34113,7 @@ fn __action300< } #[allow(clippy::too_many_arguments)] -fn __action301< +fn __action312< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32828,7 +34123,7 @@ fn __action301< } #[allow(clippy::too_many_arguments)] -fn __action302< +fn __action313< >( (_, __0, _): (TextSize, ast::Suite, TextSize), ) -> core::option::Option @@ -32837,7 +34132,7 @@ fn __action302< } #[allow(clippy::too_many_arguments)] -fn __action303< +fn __action314< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32847,7 +34142,7 @@ fn __action303< } #[allow(clippy::too_many_arguments)] -fn __action304< +fn __action315< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32858,7 +34153,7 @@ fn __action304< } #[allow(clippy::too_many_arguments)] -fn __action305< +fn __action316< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -32868,7 +34163,7 @@ fn __action305< } #[allow(clippy::too_many_arguments)] -fn __action306< +fn __action317< >( (_, v, _): (TextSize, alloc::vec::Vec<(TextSize, ast::Expr, ast::Suite)>, TextSize), ) -> alloc::vec::Vec<(TextSize, ast::Expr, ast::Suite)> @@ -32877,7 +34172,7 @@ fn __action306< } #[allow(clippy::too_many_arguments)] -fn __action307< +fn __action318< >( (_, __0, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32890,7 +34185,7 @@ fn __action307< } #[allow(clippy::too_many_arguments)] -fn __action308< +fn __action319< >( (_, e, _): (TextSize, (ast::Identifier, ast::Pattern), TextSize), ) -> Vec<(ast::Identifier, ast::Pattern)> @@ -32899,7 +34194,7 @@ fn __action308< } #[allow(clippy::too_many_arguments)] -fn __action309< +fn __action320< >( (_, mut v, _): (TextSize, Vec<(ast::Identifier, ast::Pattern)>, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32913,7 +34208,7 @@ fn __action309< } #[allow(clippy::too_many_arguments)] -fn __action310< +fn __action321< >( (_, e, _): (TextSize, ast::Pattern, TextSize), ) -> Vec @@ -32922,7 +34217,7 @@ fn __action310< } #[allow(clippy::too_many_arguments)] -fn __action311< +fn __action322< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32936,7 +34231,7 @@ fn __action311< } #[allow(clippy::too_many_arguments)] -fn __action312< +fn __action323< >( (_, e, _): (TextSize, (ast::Expr, ast::Pattern), TextSize), ) -> Vec<(ast::Expr, ast::Pattern)> @@ -32945,7 +34240,7 @@ fn __action312< } #[allow(clippy::too_many_arguments)] -fn __action313< +fn __action324< >( (_, mut v, _): (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -32959,7 +34254,7 @@ fn __action313< } #[allow(clippy::too_many_arguments)] -fn __action314< +fn __action325< >( (_, __0, _): (TextSize, (TextSize, (String, StringKind, bool), TextSize), TextSize), ) -> alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)> @@ -32968,7 +34263,7 @@ fn __action314< } #[allow(clippy::too_many_arguments)] -fn __action315< +fn __action326< >( (_, v, _): (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), (_, e, _): (TextSize, (TextSize, (String, StringKind, bool), TextSize), TextSize), @@ -32978,7 +34273,7 @@ fn __action315< } #[allow(clippy::too_many_arguments)] -fn __action316< +fn __action327< >( (_, __0, _): (TextSize, TextSize, TextSize), (_, __1, _): (TextSize, (String, StringKind, bool), TextSize), @@ -32989,7 +34284,7 @@ fn __action316< } #[allow(clippy::too_many_arguments)] -fn __action317< +fn __action328< >( (_, mut v, _): (TextSize, alloc::vec::Vec, TextSize), (_, last, _): (TextSize, core::option::Option, TextSize), @@ -33004,7 +34299,7 @@ fn __action317< } #[allow(clippy::too_many_arguments)] -fn __action318< +fn __action329< >( (_, __0, _): (TextSize, ast::Pattern, TextSize), ) -> alloc::vec::Vec @@ -33013,7 +34308,7 @@ fn __action318< } #[allow(clippy::too_many_arguments)] -fn __action319< +fn __action330< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::Pattern, TextSize), @@ -33023,7 +34318,7 @@ fn __action319< } #[allow(clippy::too_many_arguments)] -fn __action320< +fn __action331< >( (_, __0, _): (TextSize, ast::Pattern, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33033,7 +34328,7 @@ fn __action320< } #[allow(clippy::too_many_arguments)] -fn __action321< +fn __action332< >( (_, e1, _): (TextSize, ast::Pattern, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33044,7 +34339,7 @@ fn __action321< } #[allow(clippy::too_many_arguments)] -fn __action322< +fn __action333< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33058,7 +34353,7 @@ fn __action322< } #[allow(clippy::too_many_arguments)] -fn __action323< +fn __action334< >( (_, e1, _): (TextSize, ast::Pattern, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33069,7 +34364,7 @@ fn __action323< } #[allow(clippy::too_many_arguments)] -fn __action324< +fn __action335< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33083,7 +34378,7 @@ fn __action324< } #[allow(clippy::too_many_arguments)] -fn __action325< +fn __action336< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -33092,7 +34387,7 @@ fn __action325< } #[allow(clippy::too_many_arguments)] -fn __action326< +fn __action337< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33102,7 +34397,7 @@ fn __action326< } #[allow(clippy::too_many_arguments)] -fn __action327< +fn __action338< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -33111,7 +34406,7 @@ fn __action327< } #[allow(clippy::too_many_arguments)] -fn __action328< +fn __action339< >( (_, e1, _): (TextSize, ast::Expr, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33122,7 +34417,7 @@ fn __action328< } #[allow(clippy::too_many_arguments)] -fn __action329< +fn __action340< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33136,7 +34431,7 @@ fn __action329< } #[allow(clippy::too_many_arguments)] -fn __action330< +fn __action341< >( (_, __0, _): (TextSize, ast::MatchCase, TextSize), ) -> alloc::vec::Vec @@ -33145,7 +34440,7 @@ fn __action330< } #[allow(clippy::too_many_arguments)] -fn __action331< +fn __action342< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::MatchCase, TextSize), @@ -33155,7 +34450,7 @@ fn __action331< } #[allow(clippy::too_many_arguments)] -fn __action332< +fn __action343< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -33164,7 +34459,7 @@ fn __action332< } #[allow(clippy::too_many_arguments)] -fn __action333< +fn __action344< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33174,7 +34469,7 @@ fn __action333< } #[allow(clippy::too_many_arguments)] -fn __action334< +fn __action345< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, ast::Expr, TextSize), @@ -33184,7 +34479,7 @@ fn __action334< } #[allow(clippy::too_many_arguments)] -fn __action335< +fn __action346< >( (_, e, _): (TextSize, ast::Identifier, TextSize), ) -> Vec @@ -33193,7 +34488,7 @@ fn __action335< } #[allow(clippy::too_many_arguments)] -fn __action336< +fn __action347< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33207,7 +34502,7 @@ fn __action336< } #[allow(clippy::too_many_arguments)] -fn __action337< +fn __action348< >( (_, __0, _): (TextSize, (token::Tok, ast::Identifier), TextSize), ) -> alloc::vec::Vec<(token::Tok, ast::Identifier)> @@ -33216,7 +34511,7 @@ fn __action337< } #[allow(clippy::too_many_arguments)] -fn __action338< +fn __action349< >( (_, v, _): (TextSize, alloc::vec::Vec<(token::Tok, ast::Identifier)>, TextSize), (_, e, _): (TextSize, (token::Tok, ast::Identifier), TextSize), @@ -33226,7 +34521,7 @@ fn __action338< } #[allow(clippy::too_many_arguments)] -fn __action339< +fn __action350< >( (_, __0, _): (TextSize, token::Tok, TextSize), (_, __1, _): (TextSize, ast::Identifier, TextSize), @@ -33236,7 +34531,7 @@ fn __action339< } #[allow(clippy::too_many_arguments)] -fn __action340< +fn __action351< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> core::option::Option @@ -33245,7 +34540,7 @@ fn __action340< } #[allow(clippy::too_many_arguments)] -fn __action341< +fn __action352< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33255,7 +34550,7 @@ fn __action341< } #[allow(clippy::too_many_arguments)] -fn __action342< +fn __action353< >( (_, e, _): (TextSize, ast::Alias, TextSize), ) -> Vec @@ -33264,7 +34559,7 @@ fn __action342< } #[allow(clippy::too_many_arguments)] -fn __action343< +fn __action354< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33278,7 +34573,7 @@ fn __action343< } #[allow(clippy::too_many_arguments)] -fn __action344< +fn __action355< >( (_, location, _): (TextSize, TextSize, TextSize), (_, name, _): (TextSize, ast::Identifier, TextSize), @@ -33290,7 +34585,7 @@ fn __action344< } #[allow(clippy::too_many_arguments)] -fn __action345< +fn __action356< >( (_, __0, _): (TextSize, ast::Int, TextSize), ) -> alloc::vec::Vec @@ -33299,7 +34594,7 @@ fn __action345< } #[allow(clippy::too_many_arguments)] -fn __action346< +fn __action357< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::Int, TextSize), @@ -33309,7 +34604,7 @@ fn __action346< } #[allow(clippy::too_many_arguments)] -fn __action347< +fn __action358< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33319,7 +34614,7 @@ fn __action347< } #[allow(clippy::too_many_arguments)] -fn __action348< +fn __action359< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), ) -> alloc::vec::Vec @@ -33328,7 +34623,7 @@ fn __action348< } #[allow(clippy::too_many_arguments)] -fn __action349< +fn __action360< >( (_, e, _): (TextSize, ast::Alias, TextSize), ) -> Vec @@ -33337,7 +34632,7 @@ fn __action349< } #[allow(clippy::too_many_arguments)] -fn __action350< +fn __action361< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33351,7 +34646,7 @@ fn __action350< } #[allow(clippy::too_many_arguments)] -fn __action351< +fn __action362< >( (_, location, _): (TextSize, TextSize, TextSize), (_, name, _): (TextSize, ast::Identifier, TextSize), @@ -33363,7 +34658,7 @@ fn __action351< } #[allow(clippy::too_many_arguments)] -fn __action352< +fn __action363< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -33372,7 +34667,7 @@ fn __action352< } #[allow(clippy::too_many_arguments)] -fn __action353< +fn __action364< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33382,7 +34677,7 @@ fn __action353< } #[allow(clippy::too_many_arguments)] -fn __action354< +fn __action365< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, ast::Expr, TextSize), @@ -33392,7 +34687,7 @@ fn __action354< } #[allow(clippy::too_many_arguments)] -fn __action355< +fn __action366< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -33401,7 +34696,7 @@ fn __action355< } #[allow(clippy::too_many_arguments)] -fn __action356< +fn __action367< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33411,7 +34706,7 @@ fn __action356< } #[allow(clippy::too_many_arguments)] -fn __action357< +fn __action368< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> core::option::Option @@ -33420,7 +34715,7 @@ fn __action357< } #[allow(clippy::too_many_arguments)] -fn __action358< +fn __action369< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33430,7 +34725,7 @@ fn __action358< } #[allow(clippy::too_many_arguments)] -fn __action359< +fn __action370< >( (_, location, _): (TextSize, TextSize, TextSize), (_, body, _): (TextSize, ast::Expr, TextSize), @@ -33452,7 +34747,7 @@ fn __action359< } #[allow(clippy::too_many_arguments)] -fn __action360< +fn __action371< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -33461,7 +34756,7 @@ fn __action360< } #[allow(clippy::too_many_arguments)] -fn __action361< +fn __action372< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -33470,7 +34765,7 @@ fn __action361< } #[allow(clippy::too_many_arguments)] -fn __action362< +fn __action373< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33480,7 +34775,7 @@ fn __action362< } #[allow(clippy::too_many_arguments)] -fn __action363< +fn __action374< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), ) -> alloc::vec::Vec @@ -33489,7 +34784,7 @@ fn __action363< } #[allow(clippy::too_many_arguments)] -fn __action364< +fn __action375< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> core::option::Option @@ -33498,7 +34793,7 @@ fn __action364< } #[allow(clippy::too_many_arguments)] -fn __action365< +fn __action376< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33508,7 +34803,7 @@ fn __action365< } #[allow(clippy::too_many_arguments)] -fn __action366< +fn __action377< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33518,7 +34813,7 @@ fn __action366< } #[allow(clippy::too_many_arguments)] -fn __action367< +fn __action378< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), ) -> alloc::vec::Vec @@ -33527,7 +34822,7 @@ fn __action367< } #[allow(clippy::too_many_arguments)] -fn __action368< +fn __action379< >( (_, __0, _): (TextSize, ast::Stmt, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33537,7 +34832,7 @@ fn __action368< } #[allow(clippy::too_many_arguments)] -fn __action369< +fn __action380< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33547,7 +34842,7 @@ fn __action369< } #[allow(clippy::too_many_arguments)] -fn __action370< +fn __action381< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), ) -> alloc::vec::Vec @@ -33556,7 +34851,7 @@ fn __action370< } #[allow(clippy::too_many_arguments)] -fn __action371< +fn __action382< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> token::Tok @@ -33564,7 +34859,7 @@ fn __action371< __0 } -fn __action372< +fn __action383< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33573,7 +34868,7 @@ fn __action372< *__lookbehind } -fn __action373< +fn __action384< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33583,7 +34878,7 @@ fn __action373< } #[allow(clippy::too_many_arguments)] -fn __action374< +fn __action385< >( (_, __0, _): (TextSize, token::Tok, TextSize), ) -> alloc::vec::Vec @@ -33592,7 +34887,7 @@ fn __action374< } #[allow(clippy::too_many_arguments)] -fn __action375< +fn __action386< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, token::Tok, TextSize), @@ -33602,7 +34897,7 @@ fn __action375< } #[allow(clippy::too_many_arguments)] -fn __action376< +fn __action387< >( (_, __0, _): (TextSize, ast::Stmt, TextSize), ) -> alloc::vec::Vec @@ -33611,7 +34906,7 @@ fn __action376< } #[allow(clippy::too_many_arguments)] -fn __action377< +fn __action388< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::Stmt, TextSize), @@ -33621,7 +34916,7 @@ fn __action377< } #[allow(clippy::too_many_arguments)] -fn __action378< +fn __action389< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> alloc::vec::Vec @@ -33630,7 +34925,7 @@ fn __action378< } #[allow(clippy::too_many_arguments)] -fn __action379< +fn __action390< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -33640,7 +34935,7 @@ fn __action379< } #[allow(clippy::too_many_arguments)] -fn __action380< +fn __action391< >( (_, __0, _): (TextSize, ast::Identifier, TextSize), ) -> core::option::Option @@ -33649,7 +34944,7 @@ fn __action380< } #[allow(clippy::too_many_arguments)] -fn __action381< +fn __action392< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33659,7 +34954,7 @@ fn __action381< } #[allow(clippy::too_many_arguments)] -fn __action382< +fn __action393< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, ast::Identifier, TextSize), @@ -33669,7 +34964,7 @@ fn __action382< } #[allow(clippy::too_many_arguments)] -fn __action383< +fn __action394< >( (_, __0, _): (TextSize, ast::Pattern, TextSize), ) -> core::option::Option @@ -33678,7 +34973,7 @@ fn __action383< } #[allow(clippy::too_many_arguments)] -fn __action384< +fn __action395< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33688,7 +34983,7 @@ fn __action384< } #[allow(clippy::too_many_arguments)] -fn __action385< +fn __action396< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33698,7 +34993,7 @@ fn __action385< } #[allow(clippy::too_many_arguments)] -fn __action386< +fn __action397< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), ) -> alloc::vec::Vec @@ -33707,7 +35002,7 @@ fn __action386< } #[allow(clippy::too_many_arguments)] -fn __action387< +fn __action398< >( (_, __0, _): (TextSize, (TextSize, ast::Expr, ast::Suite), TextSize), ) -> alloc::vec::Vec<(TextSize, ast::Expr, ast::Suite)> @@ -33716,7 +35011,7 @@ fn __action387< } #[allow(clippy::too_many_arguments)] -fn __action388< +fn __action399< >( (_, v, _): (TextSize, alloc::vec::Vec<(TextSize, ast::Expr, ast::Suite)>, TextSize), (_, e, _): (TextSize, (TextSize, ast::Expr, ast::Suite), TextSize), @@ -33726,7 +35021,7 @@ fn __action388< } #[allow(clippy::too_many_arguments)] -fn __action389< +fn __action400< >( (_, location, _): (TextSize, TextSize, TextSize), (_, body, _): (TextSize, ast::Expr, TextSize), @@ -33748,7 +35043,7 @@ fn __action389< } #[allow(clippy::too_many_arguments)] -fn __action390< +fn __action401< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -33757,7 +35052,7 @@ fn __action390< } #[allow(clippy::too_many_arguments)] -fn __action391< +fn __action402< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -33766,26 +35061,26 @@ fn __action391< } #[allow(clippy::too_many_arguments)] -fn __action392< +fn __action403< >( - (_, __0, _): (TextSize, ast::Expr, TextSize), -) -> alloc::vec::Vec + (_, __0, _): (TextSize, ast::Decorator, TextSize), +) -> alloc::vec::Vec { alloc::vec![__0] } #[allow(clippy::too_many_arguments)] -fn __action393< +fn __action404< >( - (_, v, _): (TextSize, alloc::vec::Vec, TextSize), - (_, e, _): (TextSize, ast::Expr, TextSize), -) -> alloc::vec::Vec + (_, v, _): (TextSize, alloc::vec::Vec, TextSize), + (_, e, _): (TextSize, ast::Decorator, TextSize), +) -> alloc::vec::Vec { { let mut v = v; v.push(e); v } } #[allow(clippy::too_many_arguments)] -fn __action394< +fn __action405< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, Option>, TextSize), @@ -33795,7 +35090,7 @@ fn __action394< } #[allow(clippy::too_many_arguments)] -fn __action395< +fn __action406< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, kwarg, _): (TextSize, core::option::Option, TextSize), @@ -33807,7 +35102,7 @@ fn __action395< } #[allow(clippy::too_many_arguments)] -fn __action396< +fn __action407< >( (_, __0, _): (TextSize, (Option>, Vec, Option>), TextSize), ) -> core::option::Option<(Option>, Vec, Option>)> @@ -33816,7 +35111,7 @@ fn __action396< } #[allow(clippy::too_many_arguments)] -fn __action397< +fn __action408< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33826,7 +35121,7 @@ fn __action397< } #[allow(clippy::too_many_arguments)] -fn __action398< +fn __action409< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, (Option>, Vec, Option>), TextSize), @@ -33836,7 +35131,7 @@ fn __action398< } #[allow(clippy::too_many_arguments)] -fn __action399< +fn __action410< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33861,7 +35156,7 @@ fn __action399< } #[allow(clippy::too_many_arguments)] -fn __action400< +fn __action411< >( (_, args, _): (TextSize, Vec, TextSize), ) -> (Vec, Vec) @@ -33872,7 +35167,7 @@ fn __action400< } #[allow(clippy::too_many_arguments)] -fn __action401< +fn __action412< >( (_, posonlyargs, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33886,7 +35181,7 @@ fn __action401< } #[allow(clippy::too_many_arguments)] -fn __action402< +fn __action413< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, Option>, TextSize), @@ -33896,7 +35191,7 @@ fn __action402< } #[allow(clippy::too_many_arguments)] -fn __action403< +fn __action414< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, kwarg, _): (TextSize, core::option::Option, TextSize), @@ -33908,7 +35203,7 @@ fn __action403< } #[allow(clippy::too_many_arguments)] -fn __action404< +fn __action415< >( (_, __0, _): (TextSize, (Option>, Vec, Option>), TextSize), ) -> core::option::Option<(Option>, Vec, Option>)> @@ -33917,7 +35212,7 @@ fn __action404< } #[allow(clippy::too_many_arguments)] -fn __action405< +fn __action416< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -33927,7 +35222,7 @@ fn __action405< } #[allow(clippy::too_many_arguments)] -fn __action406< +fn __action417< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, (Option>, Vec, Option>), TextSize), @@ -33937,7 +35232,7 @@ fn __action406< } #[allow(clippy::too_many_arguments)] -fn __action407< +fn __action418< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33962,7 +35257,7 @@ fn __action407< } #[allow(clippy::too_many_arguments)] -fn __action408< +fn __action419< >( (_, args, _): (TextSize, Vec, TextSize), ) -> (Vec, Vec) @@ -33973,7 +35268,7 @@ fn __action408< } #[allow(clippy::too_many_arguments)] -fn __action409< +fn __action420< >( (_, posonlyargs, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -33987,7 +35282,7 @@ fn __action409< } #[allow(clippy::too_many_arguments)] -fn __action410< +fn __action421< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e1, _): (TextSize, ast::Expr, TextSize), @@ -34002,7 +35297,7 @@ fn __action410< } #[allow(clippy::too_many_arguments)] -fn __action411< +fn __action422< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34011,7 +35306,7 @@ fn __action411< } #[allow(clippy::too_many_arguments)] -fn __action412< +fn __action423< >( (_, e, _): (TextSize, ast::Expr, TextSize), ) -> Vec @@ -34020,7 +35315,7 @@ fn __action412< } #[allow(clippy::too_many_arguments)] -fn __action413< +fn __action424< >( (_, mut v, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -34034,7 +35329,7 @@ fn __action413< } #[allow(clippy::too_many_arguments)] -fn __action414< +fn __action425< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> alloc::vec::Vec @@ -34043,7 +35338,7 @@ fn __action414< } #[allow(clippy::too_many_arguments)] -fn __action415< +fn __action426< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -34053,7 +35348,7 @@ fn __action415< } #[allow(clippy::too_many_arguments)] -fn __action416< +fn __action427< >( (_, __0, _): (TextSize, ast::Expr, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -34063,7 +35358,7 @@ fn __action416< } #[allow(clippy::too_many_arguments)] -fn __action417< +fn __action428< >( (_, location, _): (TextSize, TextSize, TextSize), (_, mut values, _): (TextSize, alloc::vec::Vec, TextSize), @@ -34080,7 +35375,7 @@ fn __action417< } #[allow(clippy::too_many_arguments)] -fn __action418< +fn __action429< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34089,7 +35384,7 @@ fn __action418< } #[allow(clippy::too_many_arguments)] -fn __action419< +fn __action430< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> alloc::vec::Vec @@ -34098,7 +35393,7 @@ fn __action419< } #[allow(clippy::too_many_arguments)] -fn __action420< +fn __action431< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -34108,7 +35403,7 @@ fn __action420< } #[allow(clippy::too_many_arguments)] -fn __action421< +fn __action432< >( (_, __0, _): (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), ) -> core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)> @@ -34117,7 +35412,7 @@ fn __action421< } #[allow(clippy::too_many_arguments)] -fn __action422< +fn __action433< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -34127,7 +35422,7 @@ fn __action422< } #[allow(clippy::too_many_arguments)] -fn __action423< +fn __action434< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -34137,7 +35432,7 @@ fn __action423< } #[allow(clippy::too_many_arguments)] -fn __action424< +fn __action435< >( (_, v, _): (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> @@ -34146,7 +35441,7 @@ fn __action424< } #[allow(clippy::too_many_arguments)] -fn __action425< +fn __action436< >( (_, __0, _): (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -34156,7 +35451,7 @@ fn __action425< } #[allow(clippy::too_many_arguments)] -fn __action426< +fn __action437< >( (_, __0, _): (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), ) -> alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> @@ -34165,7 +35460,7 @@ fn __action426< } #[allow(clippy::too_many_arguments)] -fn __action427< +fn __action438< >( (_, v, _): (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), (_, e, _): (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -34175,7 +35470,7 @@ fn __action427< } #[allow(clippy::too_many_arguments)] -fn __action428< +fn __action439< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> alloc::vec::Vec @@ -34184,7 +35479,7 @@ fn __action428< } #[allow(clippy::too_many_arguments)] -fn __action429< +fn __action440< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -34194,7 +35489,7 @@ fn __action429< } #[allow(clippy::too_many_arguments)] -fn __action430< +fn __action441< >( (_, __0, _): (TextSize, ast::Expr, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -34204,7 +35499,7 @@ fn __action430< } #[allow(clippy::too_many_arguments)] -fn __action431< +fn __action442< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -34218,7 +35513,7 @@ fn __action431< } #[allow(clippy::too_many_arguments)] -fn __action432< +fn __action443< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34227,7 +35522,7 @@ fn __action432< } #[allow(clippy::too_many_arguments)] -fn __action433< +fn __action444< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e1, _): (TextSize, ast::Expr, TextSize), @@ -34242,7 +35537,7 @@ fn __action433< } #[allow(clippy::too_many_arguments)] -fn __action434< +fn __action445< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34250,119 +35545,6 @@ fn __action434< __0 } -#[allow(clippy::too_many_arguments)] -fn __action435< ->( - (_, e, _): (TextSize, ast::ArgWithDefault, TextSize), -) -> Vec -{ - vec![e] -} - -#[allow(clippy::too_many_arguments)] -fn __action436< ->( - (_, mut v, _): (TextSize, Vec, TextSize), - (_, _, _): (TextSize, token::Tok, TextSize), - (_, e, _): (TextSize, ast::ArgWithDefault, TextSize), -) -> Vec -{ - { - v.push(e); - v - } -} - -#[allow(clippy::too_many_arguments)] -fn __action437< ->( - (_, __0, _): (TextSize, Option>, TextSize), -) -> core::option::Option>> -{ - Some(__0) -} - -#[allow(clippy::too_many_arguments)] -fn __action438< ->( - __lookbehind: &TextSize, - __lookahead: &TextSize, -) -> core::option::Option>> -{ - None -} - -#[allow(clippy::too_many_arguments)] -fn __action439< ->( - __lookbehind: &TextSize, - __lookahead: &TextSize, -) -> alloc::vec::Vec -{ - alloc::vec![] -} - -#[allow(clippy::too_many_arguments)] -fn __action440< ->( - (_, v, _): (TextSize, alloc::vec::Vec, TextSize), -) -> alloc::vec::Vec -{ - v -} - -#[allow(clippy::too_many_arguments)] -fn __action441< ->( - (_, _, _): (TextSize, token::Tok, TextSize), - (_, __0, _): (TextSize, ast::ArgWithDefault, TextSize), -) -> ast::ArgWithDefault -{ - __0 -} - -#[allow(clippy::too_many_arguments)] -fn __action442< ->( - (_, i, _): (TextSize, ast::ArgWithDefault, TextSize), -) -> ast::ArgWithDefault -{ - i -} - -#[allow(clippy::too_many_arguments)] -fn __action443< ->( - (_, mut i, _): (TextSize, ast::ArgWithDefault, TextSize), - (_, _, _): (TextSize, token::Tok, TextSize), - (_, e, _): (TextSize, ast::Expr, TextSize), -) -> ast::ArgWithDefault -{ - { - i.default = Some(Box::new(e)); - i - } -} - -#[allow(clippy::too_many_arguments)] -fn __action444< ->( - (_, __0, _): (TextSize, ast::Arg, TextSize), -) -> core::option::Option -{ - Some(__0) -} - -#[allow(clippy::too_many_arguments)] -fn __action445< ->( - __lookbehind: &TextSize, - __lookahead: &TextSize, -) -> core::option::Option -{ - None -} - #[allow(clippy::too_many_arguments)] fn __action446< >( @@ -34449,10 +35631,12 @@ fn __action454< (_, mut i, _): (TextSize, ast::ArgWithDefault, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::ArgWithDefault { { i.default = Some(Box::new(e)); + i.range = (i.range.start()..end_location).into(); i } } @@ -34478,6 +35662,102 @@ fn __action456< #[allow(clippy::too_many_arguments)] fn __action457< +>( + (_, e, _): (TextSize, ast::ArgWithDefault, TextSize), +) -> Vec +{ + vec![e] +} + +#[allow(clippy::too_many_arguments)] +fn __action458< +>( + (_, mut v, _): (TextSize, Vec, TextSize), + (_, _, _): (TextSize, token::Tok, TextSize), + (_, e, _): (TextSize, ast::ArgWithDefault, TextSize), +) -> Vec +{ + { + v.push(e); + v + } +} + +#[allow(clippy::too_many_arguments)] +fn __action459< +>( + (_, __0, _): (TextSize, Option>, TextSize), +) -> core::option::Option>> +{ + Some(__0) +} + +#[allow(clippy::too_many_arguments)] +fn __action460< +>( + __lookbehind: &TextSize, + __lookahead: &TextSize, +) -> core::option::Option>> +{ + None +} + +#[allow(clippy::too_many_arguments)] +fn __action461< +>( + __lookbehind: &TextSize, + __lookahead: &TextSize, +) -> alloc::vec::Vec +{ + alloc::vec![] +} + +#[allow(clippy::too_many_arguments)] +fn __action462< +>( + (_, v, _): (TextSize, alloc::vec::Vec, TextSize), +) -> alloc::vec::Vec +{ + v +} + +#[allow(clippy::too_many_arguments)] +fn __action463< +>( + (_, _, _): (TextSize, token::Tok, TextSize), + (_, __0, _): (TextSize, ast::ArgWithDefault, TextSize), +) -> ast::ArgWithDefault +{ + __0 +} + +#[allow(clippy::too_many_arguments)] +fn __action464< +>( + (_, i, _): (TextSize, ast::ArgWithDefault, TextSize), +) -> ast::ArgWithDefault +{ + i +} + +#[allow(clippy::too_many_arguments)] +fn __action465< +>( + (_, mut i, _): (TextSize, ast::ArgWithDefault, TextSize), + (_, _, _): (TextSize, token::Tok, TextSize), + (_, e, _): (TextSize, ast::Expr, TextSize), + (_, end_location, _): (TextSize, TextSize, TextSize), +) -> ast::ArgWithDefault +{ + { + i.default = Some(Box::new(e)); + i.range = (i.range.start()..end_location).into(); + i + } +} + +#[allow(clippy::too_many_arguments)] +fn __action466< >( (_, __0, _): (TextSize, ast::Arg, TextSize), ) -> core::option::Option @@ -34486,7 +35766,7 @@ fn __action457< } #[allow(clippy::too_many_arguments)] -fn __action458< +fn __action467< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -34496,7 +35776,26 @@ fn __action458< } #[allow(clippy::too_many_arguments)] -fn __action459< +fn __action468< +>( + (_, __0, _): (TextSize, ast::Arg, TextSize), +) -> core::option::Option +{ + Some(__0) +} + +#[allow(clippy::too_many_arguments)] +fn __action469< +>( + __lookbehind: &TextSize, + __lookahead: &TextSize, +) -> core::option::Option +{ + None +} + +#[allow(clippy::too_many_arguments)] +fn __action470< >( (_, location, _): (TextSize, TextSize, TextSize), (_, mut values, _): (TextSize, alloc::vec::Vec, TextSize), @@ -34513,7 +35812,7 @@ fn __action459< } #[allow(clippy::too_many_arguments)] -fn __action460< +fn __action471< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34522,7 +35821,7 @@ fn __action460< } #[allow(clippy::too_many_arguments)] -fn __action461< +fn __action472< >( (_, location, _): (TextSize, TextSize, TextSize), (_, mut values, _): (TextSize, alloc::vec::Vec, TextSize), @@ -34539,7 +35838,7 @@ fn __action461< } #[allow(clippy::too_many_arguments)] -fn __action462< +fn __action473< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34548,7 +35847,7 @@ fn __action462< } #[allow(clippy::too_many_arguments)] -fn __action463< +fn __action474< >( (_, __0, _): (TextSize, ast::ArgWithDefault, TextSize), ) -> alloc::vec::Vec @@ -34557,7 +35856,7 @@ fn __action463< } #[allow(clippy::too_many_arguments)] -fn __action464< +fn __action475< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::ArgWithDefault, TextSize), @@ -34567,7 +35866,7 @@ fn __action464< } #[allow(clippy::too_many_arguments)] -fn __action465< +fn __action476< >( (_, __0, _): (TextSize, ast::ArgWithDefault, TextSize), ) -> alloc::vec::Vec @@ -34576,7 +35875,7 @@ fn __action465< } #[allow(clippy::too_many_arguments)] -fn __action466< +fn __action477< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::ArgWithDefault, TextSize), @@ -34586,7 +35885,7 @@ fn __action466< } #[allow(clippy::too_many_arguments)] -fn __action467< +fn __action478< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e1, _): (TextSize, ast::Expr, TextSize), @@ -34601,7 +35900,7 @@ fn __action467< } #[allow(clippy::too_many_arguments)] -fn __action468< +fn __action479< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34610,7 +35909,7 @@ fn __action468< } #[allow(clippy::too_many_arguments)] -fn __action469< +fn __action480< >( (_, location, _): (TextSize, TextSize, TextSize), (_, left, _): (TextSize, ast::Expr, TextSize), @@ -34627,7 +35926,7 @@ fn __action469< } #[allow(clippy::too_many_arguments)] -fn __action470< +fn __action481< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34636,7 +35935,7 @@ fn __action470< } #[allow(clippy::too_many_arguments)] -fn __action471< +fn __action482< >( (_, __0, _): (TextSize, (ast::CmpOp, ast::Expr), TextSize), ) -> alloc::vec::Vec<(ast::CmpOp, ast::Expr)> @@ -34645,7 +35944,7 @@ fn __action471< } #[allow(clippy::too_many_arguments)] -fn __action472< +fn __action483< >( (_, v, _): (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), (_, e, _): (TextSize, (ast::CmpOp, ast::Expr), TextSize), @@ -34655,7 +35954,7 @@ fn __action472< } #[allow(clippy::too_many_arguments)] -fn __action473< +fn __action484< >( (_, __0, _): (TextSize, ast::CmpOp, TextSize), (_, __1, _): (TextSize, ast::Expr, TextSize), @@ -34665,7 +35964,7 @@ fn __action473< } #[allow(clippy::too_many_arguments)] -fn __action474< +fn __action485< >( (_, location, _): (TextSize, TextSize, TextSize), (_, a, _): (TextSize, ast::Expr, TextSize), @@ -34680,7 +35979,7 @@ fn __action474< } #[allow(clippy::too_many_arguments)] -fn __action475< +fn __action486< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34689,7 +35988,7 @@ fn __action475< } #[allow(clippy::too_many_arguments)] -fn __action476< +fn __action487< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -34703,7 +36002,7 @@ fn __action476< } #[allow(clippy::too_many_arguments)] -fn __action477< +fn __action488< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34712,7 +36011,7 @@ fn __action477< } #[allow(clippy::too_many_arguments)] -fn __action478< +fn __action489< >( (_, location, _): (TextSize, TextSize, TextSize), (_, left, _): (TextSize, ast::Expr, TextSize), @@ -34729,7 +36028,7 @@ fn __action478< } #[allow(clippy::too_many_arguments)] -fn __action479< +fn __action490< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34738,7 +36037,7 @@ fn __action479< } #[allow(clippy::too_many_arguments)] -fn __action480< +fn __action491< >( (_, location, _): (TextSize, TextSize, TextSize), (_, a, _): (TextSize, ast::Expr, TextSize), @@ -34753,7 +36052,7 @@ fn __action480< } #[allow(clippy::too_many_arguments)] -fn __action481< +fn __action492< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34762,7 +36061,7 @@ fn __action481< } #[allow(clippy::too_many_arguments)] -fn __action482< +fn __action493< >( (_, location, _): (TextSize, TextSize, TextSize), (_, op, _): (TextSize, ast::UnaryOp, TextSize), @@ -34776,7 +36075,7 @@ fn __action482< } #[allow(clippy::too_many_arguments)] -fn __action483< +fn __action494< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34785,7 +36084,7 @@ fn __action483< } #[allow(clippy::too_many_arguments)] -fn __action484< +fn __action495< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e1, _): (TextSize, ast::Expr, TextSize), @@ -34800,7 +36099,7 @@ fn __action484< } #[allow(clippy::too_many_arguments)] -fn __action485< +fn __action496< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34809,7 +36108,7 @@ fn __action485< } #[allow(clippy::too_many_arguments)] -fn __action486< +fn __action497< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e1, _): (TextSize, ast::Expr, TextSize), @@ -34824,7 +36123,7 @@ fn __action486< } #[allow(clippy::too_many_arguments)] -fn __action487< +fn __action498< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34833,7 +36132,7 @@ fn __action487< } #[allow(clippy::too_many_arguments)] -fn __action488< +fn __action499< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -34848,7 +36147,7 @@ fn __action488< } #[allow(clippy::too_many_arguments)] -fn __action489< +fn __action500< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34857,7 +36156,7 @@ fn __action489< } #[allow(clippy::too_many_arguments)] -fn __action490< +fn __action501< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -34873,7 +36172,7 @@ fn __action490< } #[allow(clippy::too_many_arguments)] -fn __action491< +fn __action502< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34882,7 +36181,7 @@ fn __action491< } #[allow(clippy::too_many_arguments)] -fn __action492< +fn __action503< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e1, _): (TextSize, ast::Expr, TextSize), @@ -34897,7 +36196,7 @@ fn __action492< } #[allow(clippy::too_many_arguments)] -fn __action493< +fn __action504< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34906,7 +36205,7 @@ fn __action493< } #[allow(clippy::too_many_arguments)] -fn __action494< +fn __action505< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e1, _): (TextSize, ast::Expr, TextSize), @@ -34921,7 +36220,7 @@ fn __action494< } #[allow(clippy::too_many_arguments)] -fn __action495< +fn __action506< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34930,7 +36229,7 @@ fn __action495< } #[allow(clippy::too_many_arguments)] -fn __action496< +fn __action507< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -34939,7 +36238,7 @@ fn __action496< } #[allow(clippy::too_many_arguments)] -fn __action497< +fn __action508< >( (_, location, _): (TextSize, TextSize, TextSize), (_, f, _): (TextSize, ast::Expr, TextSize), @@ -34957,7 +36256,7 @@ fn __action497< } #[allow(clippy::too_many_arguments)] -fn __action498< +fn __action509< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -34973,7 +36272,7 @@ fn __action498< } #[allow(clippy::too_many_arguments)] -fn __action499< +fn __action510< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -34988,7 +36287,7 @@ fn __action499< } #[allow(clippy::too_many_arguments)] -fn __action500< +fn __action511< >( (_, location, _): (TextSize, TextSize, TextSize), (_, s, _): (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), @@ -34998,7 +36297,7 @@ fn __action500< } #[allow(clippy::too_many_arguments)] -fn __action501< +fn __action512< >( (_, location, _): (TextSize, TextSize, TextSize), (_, value, _): (TextSize, ast::Constant, TextSize), @@ -35011,20 +36310,20 @@ fn __action501< } #[allow(clippy::too_many_arguments)] -fn __action502< +fn __action513< >( (_, location, _): (TextSize, TextSize, TextSize), - (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, id, _): (TextSize, ast::Identifier, TextSize), (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Expr { ast::Expr::Name( - ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() } + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() } ) } #[allow(clippy::too_many_arguments)] -fn __action503< +fn __action514< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35042,7 +36341,7 @@ fn __action503< } #[allow(clippy::too_many_arguments)] -fn __action504< +fn __action515< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35060,7 +36359,7 @@ fn __action504< } #[allow(clippy::too_many_arguments)] -fn __action505< +fn __action516< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35082,7 +36381,7 @@ fn __action505< } #[allow(clippy::too_many_arguments)] -fn __action506< +fn __action517< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35113,7 +36412,7 @@ fn __action506< } #[allow(clippy::too_many_arguments)] -fn __action507< +fn __action518< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35127,7 +36426,7 @@ fn __action507< } #[allow(clippy::too_many_arguments)] -fn __action508< +fn __action519< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -35138,7 +36437,7 @@ fn __action508< } #[allow(clippy::too_many_arguments)] -fn __action509< +fn __action520< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35156,7 +36455,7 @@ fn __action509< } #[allow(clippy::too_many_arguments)] -fn __action510< +fn __action521< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, location, _): (TextSize, TextSize, TextSize), @@ -35175,7 +36474,7 @@ fn __action510< } #[allow(clippy::too_many_arguments)] -fn __action511< +fn __action522< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35197,7 +36496,7 @@ fn __action511< } #[allow(clippy::too_many_arguments)] -fn __action512< +fn __action523< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35220,7 +36519,7 @@ fn __action512< } #[allow(clippy::too_many_arguments)] -fn __action513< +fn __action524< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35235,7 +36534,7 @@ fn __action513< } #[allow(clippy::too_many_arguments)] -fn __action514< +fn __action525< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35253,7 +36552,7 @@ fn __action514< } #[allow(clippy::too_many_arguments)] -fn __action515< +fn __action526< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35264,7 +36563,7 @@ fn __action515< } #[allow(clippy::too_many_arguments)] -fn __action516< +fn __action527< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35275,7 +36574,7 @@ fn __action516< } #[allow(clippy::too_many_arguments)] -fn __action517< +fn __action528< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35286,7 +36585,7 @@ fn __action517< } #[allow(clippy::too_many_arguments)] -fn __action518< +fn __action529< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35297,7 +36596,7 @@ fn __action518< } #[allow(clippy::too_many_arguments)] -fn __action519< +fn __action530< >( (_, location, _): (TextSize, TextSize, TextSize), (_, a, _): (TextSize, ast::Expr, TextSize), @@ -35312,7 +36611,7 @@ fn __action519< } #[allow(clippy::too_many_arguments)] -fn __action520< +fn __action531< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -35321,7 +36620,7 @@ fn __action520< } #[allow(clippy::too_many_arguments)] -fn __action521< +fn __action532< >( (_, location, _): (TextSize, TextSize, TextSize), (_, a, _): (TextSize, ast::Expr, TextSize), @@ -35336,7 +36635,7 @@ fn __action521< } #[allow(clippy::too_many_arguments)] -fn __action522< +fn __action533< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -35345,7 +36644,7 @@ fn __action522< } #[allow(clippy::too_many_arguments)] -fn __action523< +fn __action534< >( (_, __0, _): (TextSize, Vec<(Option>, ast::Expr)>, TextSize), ) -> core::option::Option>, ast::Expr)>> @@ -35354,7 +36653,7 @@ fn __action523< } #[allow(clippy::too_many_arguments)] -fn __action524< +fn __action535< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -35364,7 +36663,7 @@ fn __action524< } #[allow(clippy::too_many_arguments)] -fn __action525< +fn __action536< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -35374,7 +36673,7 @@ fn __action525< } #[allow(clippy::too_many_arguments)] -fn __action526< +fn __action537< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), ) -> alloc::vec::Vec @@ -35383,7 +36682,7 @@ fn __action526< } #[allow(clippy::too_many_arguments)] -fn __action527< +fn __action538< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, __0, _): (TextSize, ast::Expr, TextSize), @@ -35393,7 +36692,7 @@ fn __action527< } #[allow(clippy::too_many_arguments)] -fn __action528< +fn __action539< >( (_, __0, _): (TextSize, Vec, TextSize), ) -> core::option::Option> @@ -35402,7 +36701,7 @@ fn __action528< } #[allow(clippy::too_many_arguments)] -fn __action529< +fn __action540< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -35412,7 +36711,7 @@ fn __action529< } #[allow(clippy::too_many_arguments)] -fn __action530< +fn __action541< >( (_, __0, _): (TextSize, Vec, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35422,7 +36721,7 @@ fn __action530< } #[allow(clippy::too_many_arguments)] -fn __action531< +fn __action542< >( (_, __0, _): (TextSize, Vec, TextSize), ) -> core::option::Option> @@ -35431,7 +36730,7 @@ fn __action531< } #[allow(clippy::too_many_arguments)] -fn __action532< +fn __action543< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -35441,7 +36740,7 @@ fn __action532< } #[allow(clippy::too_many_arguments)] -fn __action533< +fn __action544< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> alloc::vec::Vec @@ -35450,7 +36749,7 @@ fn __action533< } #[allow(clippy::too_many_arguments)] -fn __action534< +fn __action545< >( (_, v, _): (TextSize, alloc::vec::Vec, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -35460,7 +36759,7 @@ fn __action534< } #[allow(clippy::too_many_arguments)] -fn __action535< +fn __action546< >( (_, location, _): (TextSize, TextSize, TextSize), (_, op, _): (TextSize, ast::UnaryOp, TextSize), @@ -35474,7 +36773,7 @@ fn __action535< } #[allow(clippy::too_many_arguments)] -fn __action536< +fn __action547< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -35483,7 +36782,7 @@ fn __action536< } #[allow(clippy::too_many_arguments)] -fn __action537< +fn __action548< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -35498,7 +36797,7 @@ fn __action537< } #[allow(clippy::too_many_arguments)] -fn __action538< +fn __action549< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -35507,7 +36806,7 @@ fn __action538< } #[allow(clippy::too_many_arguments)] -fn __action539< +fn __action550< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35523,7 +36822,7 @@ fn __action539< } #[allow(clippy::too_many_arguments)] -fn __action540< +fn __action551< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -35532,7 +36831,7 @@ fn __action540< } #[allow(clippy::too_many_arguments)] -fn __action541< +fn __action552< >( (_, __0, _): (TextSize, ast::Expr, TextSize), ) -> ast::Expr @@ -35541,7 +36840,7 @@ fn __action541< } #[allow(clippy::too_many_arguments)] -fn __action542< +fn __action553< >( (_, location, _): (TextSize, TextSize, TextSize), (_, f, _): (TextSize, ast::Expr, TextSize), @@ -35559,7 +36858,7 @@ fn __action542< } #[allow(clippy::too_many_arguments)] -fn __action543< +fn __action554< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -35575,7 +36874,7 @@ fn __action543< } #[allow(clippy::too_many_arguments)] -fn __action544< +fn __action555< >( (_, location, _): (TextSize, TextSize, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -35590,7 +36889,7 @@ fn __action544< } #[allow(clippy::too_many_arguments)] -fn __action545< +fn __action556< >( (_, location, _): (TextSize, TextSize, TextSize), (_, s, _): (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), @@ -35600,7 +36899,7 @@ fn __action545< } #[allow(clippy::too_many_arguments)] -fn __action546< +fn __action557< >( (_, location, _): (TextSize, TextSize, TextSize), (_, value, _): (TextSize, ast::Constant, TextSize), @@ -35613,20 +36912,20 @@ fn __action546< } #[allow(clippy::too_many_arguments)] -fn __action547< +fn __action558< >( (_, location, _): (TextSize, TextSize, TextSize), - (_, name, _): (TextSize, ast::Identifier, TextSize), + (_, id, _): (TextSize, ast::Identifier, TextSize), (_, end_location, _): (TextSize, TextSize, TextSize), ) -> ast::Expr { ast::Expr::Name( - ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() } + ast::ExprName { id: id.into(), ctx: ast::ExprContext::Load, range: (location..end_location).into() } ) } #[allow(clippy::too_many_arguments)] -fn __action548< +fn __action559< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35644,7 +36943,7 @@ fn __action548< } #[allow(clippy::too_many_arguments)] -fn __action549< +fn __action560< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35662,7 +36961,7 @@ fn __action549< } #[allow(clippy::too_many_arguments)] -fn __action550< +fn __action561< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35693,7 +36992,7 @@ fn __action550< } #[allow(clippy::too_many_arguments)] -fn __action551< +fn __action562< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35707,7 +37006,7 @@ fn __action551< } #[allow(clippy::too_many_arguments)] -fn __action552< +fn __action563< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, e, _): (TextSize, ast::Expr, TextSize), @@ -35718,7 +37017,7 @@ fn __action552< } #[allow(clippy::too_many_arguments)] -fn __action553< +fn __action564< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35736,7 +37035,7 @@ fn __action553< } #[allow(clippy::too_many_arguments)] -fn __action554< +fn __action565< >( (_, _, _): (TextSize, token::Tok, TextSize), (_, location, _): (TextSize, TextSize, TextSize), @@ -35755,7 +37054,7 @@ fn __action554< } #[allow(clippy::too_many_arguments)] -fn __action555< +fn __action566< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35777,7 +37076,7 @@ fn __action555< } #[allow(clippy::too_many_arguments)] -fn __action556< +fn __action567< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35800,7 +37099,7 @@ fn __action556< } #[allow(clippy::too_many_arguments)] -fn __action557< +fn __action568< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35815,7 +37114,7 @@ fn __action557< } #[allow(clippy::too_many_arguments)] -fn __action558< +fn __action569< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35833,7 +37132,7 @@ fn __action558< } #[allow(clippy::too_many_arguments)] -fn __action559< +fn __action570< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35844,7 +37143,7 @@ fn __action559< } #[allow(clippy::too_many_arguments)] -fn __action560< +fn __action571< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35855,7 +37154,7 @@ fn __action560< } #[allow(clippy::too_many_arguments)] -fn __action561< +fn __action572< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35866,7 +37165,7 @@ fn __action561< } #[allow(clippy::too_many_arguments)] -fn __action562< +fn __action573< >( (_, location, _): (TextSize, TextSize, TextSize), (_, _, _): (TextSize, token::Tok, TextSize), @@ -35877,7 +37176,7 @@ fn __action562< } #[allow(clippy::too_many_arguments)] -fn __action563< +fn __action574< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -35889,11 +37188,11 @@ fn __action563< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action340( + let __temp0 = __action351( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action505( + __action516( __0, __1, __2, @@ -35904,7 +37203,7 @@ fn __action563< } #[allow(clippy::too_many_arguments)] -fn __action564< +fn __action575< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -35915,12 +37214,12 @@ fn __action564< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action505( + __action516( __0, __1, __2, @@ -35931,7 +37230,7 @@ fn __action564< } #[allow(clippy::too_many_arguments)] -fn __action565< +fn __action576< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -35945,11 +37244,11 @@ fn __action565< { let __start0 = __5.0; let __end0 = __5.2; - let __temp0 = __action340( + let __temp0 = __action351( __5, ); let __temp0 = (__start0, __temp0, __end0); - __action506( + __action517( __0, __1, __2, @@ -35962,7 +37261,7 @@ fn __action565< } #[allow(clippy::too_many_arguments)] -fn __action566< +fn __action577< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -35975,12 +37274,12 @@ fn __action566< { let __start0 = __4.2; let __end0 = __5.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action506( + __action517( __0, __1, __2, @@ -35993,7 +37292,7 @@ fn __action566< } #[allow(clippy::too_many_arguments)] -fn __action567< +fn __action578< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36007,11 +37306,11 @@ fn __action567< { let __start0 = __5.0; let __end0 = __5.2; - let __temp0 = __action340( + let __temp0 = __action351( __5, ); let __temp0 = (__start0, __temp0, __end0); - __action550( + __action561( __0, __1, __2, @@ -36024,7 +37323,7 @@ fn __action567< } #[allow(clippy::too_many_arguments)] -fn __action568< +fn __action579< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36037,12 +37336,12 @@ fn __action568< { let __start0 = __4.2; let __end0 = __5.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action550( + __action561( __0, __1, __2, @@ -36055,7 +37354,7 @@ fn __action568< } #[allow(clippy::too_many_arguments)] -fn __action569< +fn __action580< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36070,11 +37369,11 @@ fn __action569< { let __start0 = __6.0; let __end0 = __6.2; - let __temp0 = __action340( + let __temp0 = __action351( __6, ); let __temp0 = (__start0, __temp0, __end0); - __action133( + __action134( __0, __1, __2, @@ -36088,7 +37387,7 @@ fn __action569< } #[allow(clippy::too_many_arguments)] -fn __action570< +fn __action581< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36102,12 +37401,12 @@ fn __action570< { let __start0 = __5.2; let __end0 = __6.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action133( + __action134( __0, __1, __2, @@ -36121,7 +37420,7 @@ fn __action570< } #[allow(clippy::too_many_arguments)] -fn __action571< +fn __action582< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36134,11 +37433,11 @@ fn __action571< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action340( + let __temp0 = __action351( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action134( + __action135( __0, __1, __2, @@ -36150,7 +37449,7 @@ fn __action571< } #[allow(clippy::too_many_arguments)] -fn __action572< +fn __action583< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36162,12 +37461,12 @@ fn __action572< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action134( + __action135( __0, __1, __2, @@ -36179,7 +37478,7 @@ fn __action572< } #[allow(clippy::too_many_arguments)] -fn __action573< +fn __action584< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36192,11 +37491,11 @@ fn __action573< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action340( + let __temp0 = __action351( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action135( + __action136( __0, __1, __2, @@ -36208,7 +37507,7 @@ fn __action573< } #[allow(clippy::too_many_arguments)] -fn __action574< +fn __action585< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36220,12 +37519,12 @@ fn __action574< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action135( + __action136( __0, __1, __2, @@ -36237,7 +37536,7 @@ fn __action574< } #[allow(clippy::too_many_arguments)] -fn __action575< +fn __action586< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36252,11 +37551,11 @@ fn __action575< { let __start0 = __6.0; let __end0 = __6.2; - let __temp0 = __action340( + let __temp0 = __action351( __6, ); let __temp0 = (__start0, __temp0, __end0); - __action137( + __action138( __0, __1, __2, @@ -36270,7 +37569,7 @@ fn __action575< } #[allow(clippy::too_many_arguments)] -fn __action576< +fn __action587< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36284,12 +37583,12 @@ fn __action576< { let __start0 = __5.2; let __end0 = __6.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action137( + __action138( __0, __1, __2, @@ -36303,7 +37602,7 @@ fn __action576< } #[allow(clippy::too_many_arguments)] -fn __action577< +fn __action588< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36316,11 +37615,11 @@ fn __action577< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action340( + let __temp0 = __action351( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action138( + __action139( __0, __1, __2, @@ -36332,7 +37631,7 @@ fn __action577< } #[allow(clippy::too_many_arguments)] -fn __action578< +fn __action589< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36344,12 +37643,12 @@ fn __action578< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action138( + __action139( __0, __1, __2, @@ -36361,7 +37660,7 @@ fn __action578< } #[allow(clippy::too_many_arguments)] -fn __action579< +fn __action590< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36374,11 +37673,11 @@ fn __action579< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action340( + let __temp0 = __action351( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action139( + __action140( __0, __1, __2, @@ -36390,7 +37689,7 @@ fn __action579< } #[allow(clippy::too_many_arguments)] -fn __action580< +fn __action591< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -36402,12 +37701,12 @@ fn __action580< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action139( + __action140( __0, __1, __2, @@ -36419,7 +37718,7 @@ fn __action580< } #[allow(clippy::too_many_arguments)] -fn __action581< +fn __action592< >( __0: (TextSize, Vec<(Option>, ast::Expr)>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36427,37 +37726,37 @@ fn __action581< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action340( + let __temp0 = __action351( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action201( + __action208( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action582< +fn __action593< >( __0: (TextSize, Vec<(Option>, ast::Expr)>, TextSize), ) -> Vec<(Option>, ast::Expr)> { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action201( + __action208( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action583< +fn __action594< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36465,37 +37764,37 @@ fn __action583< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action340( + let __temp0 = __action351( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action209( + __action216( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action584< +fn __action595< >( __0: (TextSize, Vec, TextSize), ) -> Vec { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action209( + __action216( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action585< +fn __action596< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Vec, TextSize), @@ -36505,11 +37804,11 @@ fn __action585< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action340( + let __temp0 = __action351( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action237( + __action244( __0, __1, __temp0, @@ -36518,7 +37817,7 @@ fn __action585< } #[allow(clippy::too_many_arguments)] -fn __action586< +fn __action597< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Vec, TextSize), @@ -36527,12 +37826,12 @@ fn __action586< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action237( + __action244( __0, __1, __temp0, @@ -36541,7 +37840,7 @@ fn __action586< } #[allow(clippy::too_many_arguments)] -fn __action587< +fn __action598< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Vec, TextSize), @@ -36551,11 +37850,11 @@ fn __action587< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action340( + let __temp0 = __action351( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action234( + __action241( __0, __1, __temp0, @@ -36564,7 +37863,7 @@ fn __action587< } #[allow(clippy::too_many_arguments)] -fn __action588< +fn __action599< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Vec, TextSize), @@ -36573,12 +37872,12 @@ fn __action588< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action234( + __action241( __0, __1, __temp0, @@ -36587,7 +37886,7 @@ fn __action588< } #[allow(clippy::too_many_arguments)] -fn __action589< +fn __action600< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36599,11 +37898,11 @@ fn __action589< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action340( + let __temp0 = __action351( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action64( + __action65( __0, __1, __2, @@ -36614,7 +37913,7 @@ fn __action589< } #[allow(clippy::too_many_arguments)] -fn __action590< +fn __action601< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36625,12 +37924,12 @@ fn __action590< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action64( + __action65( __0, __1, __2, @@ -36641,7 +37940,7 @@ fn __action590< } #[allow(clippy::too_many_arguments)] -fn __action591< +fn __action602< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36649,37 +37948,37 @@ fn __action591< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action340( + let __temp0 = __action351( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action200( + __action207( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action592< +fn __action603< >( __0: (TextSize, Vec, TextSize), ) -> Vec { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action200( + __action207( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action593< +fn __action604< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36691,11 +37990,11 @@ fn __action593< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action340( + let __temp0 = __action351( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action129( + __action130( __0, __1, __2, @@ -36706,7 +38005,7 @@ fn __action593< } #[allow(clippy::too_many_arguments)] -fn __action594< +fn __action605< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36717,12 +38016,12 @@ fn __action594< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action129( + __action130( __0, __1, __2, @@ -36733,7 +38032,7 @@ fn __action594< } #[allow(clippy::too_many_arguments)] -fn __action595< +fn __action606< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36746,11 +38045,11 @@ fn __action595< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action340( + let __temp0 = __action351( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action130( + __action131( __0, __1, __2, @@ -36762,7 +38061,7 @@ fn __action595< } #[allow(clippy::too_many_arguments)] -fn __action596< +fn __action607< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36774,12 +38073,12 @@ fn __action596< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action130( + __action131( __0, __1, __2, @@ -36791,7 +38090,7 @@ fn __action596< } #[allow(clippy::too_many_arguments)] -fn __action597< +fn __action608< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36806,11 +38105,11 @@ fn __action597< { let __start0 = __6.0; let __end0 = __6.2; - let __temp0 = __action340( + let __temp0 = __action351( __6, ); let __temp0 = (__start0, __temp0, __end0); - __action131( + __action132( __0, __1, __2, @@ -36824,7 +38123,7 @@ fn __action597< } #[allow(clippy::too_many_arguments)] -fn __action598< +fn __action609< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36838,12 +38137,12 @@ fn __action598< { let __start0 = __5.2; let __end0 = __6.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action131( + __action132( __0, __1, __2, @@ -36857,7 +38156,7 @@ fn __action598< } #[allow(clippy::too_many_arguments)] -fn __action599< +fn __action610< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36872,11 +38171,11 @@ fn __action599< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action340( + let __temp0 = __action351( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action81( + __action82( __0, __1, __2, @@ -36890,7 +38189,7 @@ fn __action599< } #[allow(clippy::too_many_arguments)] -fn __action600< +fn __action611< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -36904,12 +38203,12 @@ fn __action600< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action81( + __action82( __0, __1, __2, @@ -36923,7 +38222,7 @@ fn __action600< } #[allow(clippy::too_many_arguments)] -fn __action601< +fn __action612< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -36934,11 +38233,11 @@ fn __action601< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action340( + let __temp0 = __action351( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action266( + __action275( __0, __1, __2, @@ -36948,7 +38247,7 @@ fn __action601< } #[allow(clippy::too_many_arguments)] -fn __action602< +fn __action613< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -36958,12 +38257,12 @@ fn __action602< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action266( + __action275( __0, __1, __2, @@ -36973,7 +38272,7 @@ fn __action602< } #[allow(clippy::too_many_arguments)] -fn __action603< +fn __action614< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -36984,11 +38283,11 @@ fn __action603< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action340( + let __temp0 = __action351( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action267( + __action276( __0, __1, __2, @@ -36998,7 +38297,7 @@ fn __action603< } #[allow(clippy::too_many_arguments)] -fn __action604< +fn __action615< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -37008,12 +38307,12 @@ fn __action604< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action267( + __action276( __0, __1, __2, @@ -37023,7 +38322,7 @@ fn __action604< } #[allow(clippy::too_many_arguments)] -fn __action605< +fn __action616< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Option>, Vec, Option>), TextSize), @@ -37033,11 +38332,11 @@ fn __action605< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action340( + let __temp0 = __action351( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action268( + __action277( __0, __1, __temp0, @@ -37046,7 +38345,7 @@ fn __action605< } #[allow(clippy::too_many_arguments)] -fn __action606< +fn __action617< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Option>, Vec, Option>), TextSize), @@ -37055,12 +38354,12 @@ fn __action606< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action268( + __action277( __0, __1, __temp0, @@ -37069,7 +38368,7 @@ fn __action606< } #[allow(clippy::too_many_arguments)] -fn __action607< +fn __action618< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Option>, TextSize), @@ -37079,11 +38378,11 @@ fn __action607< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action340( + let __temp0 = __action351( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action269( + __action278( __0, __1, __temp0, @@ -37092,7 +38391,7 @@ fn __action607< } #[allow(clippy::too_many_arguments)] -fn __action608< +fn __action619< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Option>, TextSize), @@ -37101,12 +38400,12 @@ fn __action608< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action269( + __action278( __0, __1, __temp0, @@ -37115,7 +38414,7 @@ fn __action608< } #[allow(clippy::too_many_arguments)] -fn __action609< +fn __action620< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -37126,11 +38425,11 @@ fn __action609< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action340( + let __temp0 = __action351( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action250( + __action257( __0, __1, __2, @@ -37140,7 +38439,7 @@ fn __action609< } #[allow(clippy::too_many_arguments)] -fn __action610< +fn __action621< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -37150,12 +38449,12 @@ fn __action610< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action250( + __action257( __0, __1, __2, @@ -37165,7 +38464,7 @@ fn __action610< } #[allow(clippy::too_many_arguments)] -fn __action611< +fn __action622< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -37176,11 +38475,11 @@ fn __action611< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action340( + let __temp0 = __action351( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action251( + __action258( __0, __1, __2, @@ -37190,7 +38489,7 @@ fn __action611< } #[allow(clippy::too_many_arguments)] -fn __action612< +fn __action623< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -37200,12 +38499,12 @@ fn __action612< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action251( + __action258( __0, __1, __2, @@ -37215,7 +38514,7 @@ fn __action612< } #[allow(clippy::too_many_arguments)] -fn __action613< +fn __action624< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Option>, Vec, Option>), TextSize), @@ -37225,11 +38524,11 @@ fn __action613< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action340( + let __temp0 = __action351( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action252( + __action259( __0, __1, __temp0, @@ -37238,7 +38537,7 @@ fn __action613< } #[allow(clippy::too_many_arguments)] -fn __action614< +fn __action625< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Option>, Vec, Option>), TextSize), @@ -37247,12 +38546,12 @@ fn __action614< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action252( + __action259( __0, __1, __temp0, @@ -37261,7 +38560,7 @@ fn __action614< } #[allow(clippy::too_many_arguments)] -fn __action615< +fn __action626< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Option>, TextSize), @@ -37271,11 +38570,11 @@ fn __action615< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action340( + let __temp0 = __action351( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action253( + __action260( __0, __1, __temp0, @@ -37284,7 +38583,7 @@ fn __action615< } #[allow(clippy::too_many_arguments)] -fn __action616< +fn __action627< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Option>, TextSize), @@ -37293,12 +38592,12 @@ fn __action616< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action253( + __action260( __0, __1, __temp0, @@ -37307,7 +38606,7 @@ fn __action616< } #[allow(clippy::too_many_arguments)] -fn __action617< +fn __action628< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Vec, TextSize), @@ -37317,11 +38616,11 @@ fn __action617< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action340( + let __temp0 = __action351( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action85( + __action86( __0, __1, __temp0, @@ -37330,7 +38629,7 @@ fn __action617< } #[allow(clippy::too_many_arguments)] -fn __action618< +fn __action629< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Vec, TextSize), @@ -37339,12 +38638,12 @@ fn __action618< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action85( + __action86( __0, __1, __temp0, @@ -37353,7 +38652,7 @@ fn __action618< } #[allow(clippy::too_many_arguments)] -fn __action619< +fn __action630< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -37366,11 +38665,11 @@ fn __action619< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action340( + let __temp0 = __action351( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action102( + __action103( __0, __1, __2, @@ -37382,7 +38681,7 @@ fn __action619< } #[allow(clippy::too_many_arguments)] -fn __action620< +fn __action631< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -37394,12 +38693,12 @@ fn __action620< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action102( + __action103( __0, __1, __2, @@ -37411,7 +38710,7 @@ fn __action620< } #[allow(clippy::too_many_arguments)] -fn __action621< +fn __action632< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -37419,37 +38718,37 @@ fn __action621< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action340( + let __temp0 = __action351( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action205( + __action212( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action622< +fn __action633< >( __0: (TextSize, Vec, TextSize), ) -> Vec { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action205( + __action212( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action623< +fn __action634< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Vec, TextSize), @@ -37459,11 +38758,11 @@ fn __action623< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action340( + let __temp0 = __action351( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action196( + __action203( __0, __1, __temp0, @@ -37472,7 +38771,7 @@ fn __action623< } #[allow(clippy::too_many_arguments)] -fn __action624< +fn __action635< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, Vec, TextSize), @@ -37481,12 +38780,12 @@ fn __action624< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action196( + __action203( __0, __1, __temp0, @@ -37495,7 +38794,61 @@ fn __action624< } #[allow(clippy::too_many_arguments)] -fn __action625< +fn __action636< +>( + __0: (TextSize, TextSize, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, Vec, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, TextSize, TextSize), +) -> Vec +{ + let __start0 = __3.0; + let __end0 = __3.2; + let __temp0 = __action351( + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action168( + __0, + __1, + __2, + __temp0, + __4, + __5, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action637< +>( + __0: (TextSize, TextSize, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, Vec, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, TextSize, TextSize), +) -> Vec +{ + let __start0 = __2.2; + let __end0 = __3.0; + let __temp0 = __action352( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action168( + __0, + __1, + __2, + __temp0, + __3, + __4, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action638< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -37505,11 +38858,11 @@ fn __action625< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action340( + let __temp0 = __action351( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action152( + __action153( __0, __1, __temp0, @@ -37518,7 +38871,7 @@ fn __action625< } #[allow(clippy::too_many_arguments)] -fn __action626< +fn __action639< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -37527,12 +38880,12 @@ fn __action626< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action152( + __action153( __0, __1, __temp0, @@ -37541,7 +38894,7 @@ fn __action626< } #[allow(clippy::too_many_arguments)] -fn __action627< +fn __action640< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -37553,11 +38906,11 @@ fn __action627< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action340( + let __temp0 = __action351( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action153( + __action154( __0, __1, __2, @@ -37568,7 +38921,7 @@ fn __action627< } #[allow(clippy::too_many_arguments)] -fn __action628< +fn __action641< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -37579,12 +38932,12 @@ fn __action628< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action341( + let __temp0 = __action352( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action153( + __action154( __0, __1, __2, @@ -37595,7 +38948,7 @@ fn __action628< } #[allow(clippy::too_many_arguments)] -fn __action629< +fn __action642< >( __0: (TextSize, ast::Suite, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -37606,7 +38959,7 @@ fn __action629< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action364( + let __temp0 = __action375( __3, ); let __temp0 = (__start0, __temp0, __end0); @@ -37620,7 +38973,7 @@ fn __action629< } #[allow(clippy::too_many_arguments)] -fn __action630< +fn __action643< >( __0: (TextSize, ast::Suite, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -37630,7 +38983,7 @@ fn __action630< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action365( + let __temp0 = __action376( &__start0, &__end0, ); @@ -37645,7 +38998,7 @@ fn __action630< } #[allow(clippy::too_many_arguments)] -fn __action631< +fn __action644< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -37655,7 +39008,7 @@ fn __action631< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action364( + let __temp0 = __action375( __2, ); let __temp0 = (__start0, __temp0, __end0); @@ -37668,7 +39021,7 @@ fn __action631< } #[allow(clippy::too_many_arguments)] -fn __action632< +fn __action645< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -37677,7 +39030,7 @@ fn __action632< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action365( + let __temp0 = __action376( &__start0, &__end0, ); @@ -37691,7 +39044,7 @@ fn __action632< } #[allow(clippy::too_many_arguments)] -fn __action633< +fn __action646< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -37702,7 +39055,7 @@ fn __action633< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action364( + let __temp0 = __action375( __3, ); let __temp0 = (__start0, __temp0, __end0); @@ -37716,7 +39069,7 @@ fn __action633< } #[allow(clippy::too_many_arguments)] -fn __action634< +fn __action647< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -37726,7 +39079,7 @@ fn __action634< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action365( + let __temp0 = __action376( &__start0, &__end0, ); @@ -37741,7 +39094,7 @@ fn __action634< } #[allow(clippy::too_many_arguments)] -fn __action635< +fn __action648< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -37751,7 +39104,7 @@ fn __action635< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action364( + let __temp0 = __action375( __2, ); let __temp0 = (__start0, __temp0, __end0); @@ -37764,7 +39117,7 @@ fn __action635< } #[allow(clippy::too_many_arguments)] -fn __action636< +fn __action649< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -37773,7 +39126,7 @@ fn __action636< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action365( + let __temp0 = __action376( &__start0, &__end0, ); @@ -37787,7 +39140,7 @@ fn __action636< } #[allow(clippy::too_many_arguments)] -fn __action637< +fn __action650< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -37802,11 +39155,11 @@ fn __action637< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action300( + let __temp0 = __action311( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action143( + __action144( __0, __temp0, __2, @@ -37820,7 +39173,7 @@ fn __action637< } #[allow(clippy::too_many_arguments)] -fn __action638< +fn __action651< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -37834,12 +39187,12 @@ fn __action638< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action301( + let __temp0 = __action312( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action143( + __action144( __0, __temp0, __1, @@ -37853,26 +39206,27 @@ fn __action638< } #[allow(clippy::too_many_arguments)] -fn __action639< +fn __action652< >( - __0: (TextSize, alloc::vec::Vec, TextSize), - __1: (TextSize, TextSize, TextSize), + __0: (TextSize, TextSize, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, token::Tok, TextSize), __4: (TextSize, ast::Identifier, TextSize), - __5: (TextSize, ast::Arguments, TextSize), - __6: (TextSize, core::option::Option, TextSize), - __7: (TextSize, token::Tok, TextSize), - __8: (TextSize, ast::Suite, TextSize), + __5: (TextSize, core::option::Option>, TextSize), + __6: (TextSize, ast::Arguments, TextSize), + __7: (TextSize, core::option::Option, TextSize), + __8: (TextSize, token::Tok, TextSize), + __9: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action300( + let __temp0 = __action311( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action157( + __action158( __0, __1, __temp0, @@ -37882,30 +39236,32 @@ fn __action639< __6, __7, __8, + __9, ) } #[allow(clippy::too_many_arguments)] -fn __action640< +fn __action653< >( - __0: (TextSize, alloc::vec::Vec, TextSize), - __1: (TextSize, TextSize, TextSize), + __0: (TextSize, TextSize, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), - __4: (TextSize, ast::Arguments, TextSize), - __5: (TextSize, core::option::Option, TextSize), - __6: (TextSize, token::Tok, TextSize), - __7: (TextSize, ast::Suite, TextSize), + __4: (TextSize, core::option::Option>, TextSize), + __5: (TextSize, ast::Arguments, TextSize), + __6: (TextSize, core::option::Option, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action301( + let __temp0 = __action312( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action157( + __action158( __0, __1, __temp0, @@ -37915,11 +39271,12 @@ fn __action640< __5, __6, __7, + __8, ) } #[allow(clippy::too_many_arguments)] -fn __action641< +fn __action654< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -37933,11 +39290,11 @@ fn __action641< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action300( + let __temp0 = __action311( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action213( + __action220( __0, __temp0, __2, @@ -37950,7 +39307,7 @@ fn __action641< } #[allow(clippy::too_many_arguments)] -fn __action642< +fn __action655< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -37963,12 +39320,12 @@ fn __action642< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action301( + let __temp0 = __action312( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action213( + __action220( __0, __temp0, __1, @@ -37981,7 +39338,7 @@ fn __action642< } #[allow(clippy::too_many_arguments)] -fn __action643< +fn __action656< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -37993,11 +39350,11 @@ fn __action643< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action300( + let __temp0 = __action311( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action151( + __action152( __0, __temp0, __2, @@ -38008,7 +39365,7 @@ fn __action643< } #[allow(clippy::too_many_arguments)] -fn __action644< +fn __action657< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38019,12 +39376,12 @@ fn __action644< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action301( + let __temp0 = __action312( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action151( + __action152( __0, __temp0, __1, @@ -38035,7 +39392,7 @@ fn __action644< } #[allow(clippy::too_many_arguments)] -fn __action645< +fn __action658< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ArgumentList, TextSize), @@ -38044,81 +39401,85 @@ fn __action645< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action256( + let __temp0 = __action265( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action254( + __action263( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action646< +fn __action659< >( - __0: (TextSize, alloc::vec::Vec, TextSize), - __1: (TextSize, TextSize, TextSize), + __0: (TextSize, TextSize, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), - __4: (TextSize, token::Tok, TextSize), - __5: (TextSize, ArgumentList, TextSize), - __6: (TextSize, token::Tok, TextSize), + __4: (TextSize, core::option::Option>, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ArgumentList, TextSize), __7: (TextSize, token::Tok, TextSize), - __8: (TextSize, ast::Suite, TextSize), + __8: (TextSize, token::Tok, TextSize), + __9: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { - let __start0 = __4.0; - let __end0 = __6.2; - let __temp0 = __action645( - __4, + let __start0 = __5.0; + let __end0 = __7.2; + let __temp0 = __action658( __5, __6, + __7, ); let __temp0 = (__start0, __temp0, __end0); - __action164( + __action167( __0, __1, __2, __3, + __4, __temp0, - __7, __8, + __9, ) } #[allow(clippy::too_many_arguments)] -fn __action647< +fn __action660< >( - __0: (TextSize, alloc::vec::Vec, TextSize), - __1: (TextSize, TextSize, TextSize), + __0: (TextSize, TextSize, TextSize), + __1: (TextSize, alloc::vec::Vec, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), - __4: (TextSize, token::Tok, TextSize), - __5: (TextSize, ast::Suite, TextSize), + __4: (TextSize, core::option::Option>, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { - let __start0 = __3.2; - let __end0 = __4.0; - let __temp0 = __action255( + let __start0 = __4.2; + let __end0 = __5.0; + let __temp0 = __action264( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action164( + __action167( __0, __1, __2, __3, - __temp0, __4, + __temp0, __5, + __6, ) } #[allow(clippy::too_many_arguments)] -fn __action648< +fn __action661< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Option>, TextSize), @@ -38126,18 +39487,18 @@ fn __action648< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action394( + let __temp0 = __action405( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action448( + __action459( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action649< +fn __action662< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -38149,12 +39510,12 @@ fn __action649< { let __start0 = __2.0; let __end0 = __3.2; - let __temp0 = __action394( + let __temp0 = __action405( __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action603( + __action614( __0, __1, __temp0, @@ -38164,7 +39525,7 @@ fn __action649< } #[allow(clippy::too_many_arguments)] -fn __action650< +fn __action663< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -38175,12 +39536,12 @@ fn __action650< { let __start0 = __2.0; let __end0 = __3.2; - let __temp0 = __action394( + let __temp0 = __action405( __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action604( + __action615( __0, __1, __temp0, @@ -38189,7 +39550,7 @@ fn __action650< } #[allow(clippy::too_many_arguments)] -fn __action651< +fn __action664< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38201,12 +39562,12 @@ fn __action651< { let __start0 = __4.0; let __end0 = __5.2; - let __temp0 = __action648( + let __temp0 = __action661( __4, __5, ); let __temp0 = (__start0, __temp0, __end0); - __action399( + __action410( __0, __1, __2, @@ -38216,7 +39577,7 @@ fn __action651< } #[allow(clippy::too_many_arguments)] -fn __action652< +fn __action665< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38226,12 +39587,12 @@ fn __action652< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action449( + let __temp0 = __action460( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action399( + __action410( __0, __1, __2, @@ -38241,7 +39602,7 @@ fn __action652< } #[allow(clippy::too_many_arguments)] -fn __action653< +fn __action666< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Option>, TextSize), @@ -38249,18 +39610,18 @@ fn __action653< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action402( + let __temp0 = __action413( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action437( + __action448( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action654< +fn __action667< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -38272,12 +39633,12 @@ fn __action654< { let __start0 = __2.0; let __end0 = __3.2; - let __temp0 = __action402( + let __temp0 = __action413( __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action611( + __action622( __0, __1, __temp0, @@ -38287,7 +39648,7 @@ fn __action654< } #[allow(clippy::too_many_arguments)] -fn __action655< +fn __action668< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, (Vec, Vec), TextSize), @@ -38298,12 +39659,12 @@ fn __action655< { let __start0 = __2.0; let __end0 = __3.2; - let __temp0 = __action402( + let __temp0 = __action413( __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action612( + __action623( __0, __1, __temp0, @@ -38312,7 +39673,7 @@ fn __action655< } #[allow(clippy::too_many_arguments)] -fn __action656< +fn __action669< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38324,12 +39685,12 @@ fn __action656< { let __start0 = __4.0; let __end0 = __5.2; - let __temp0 = __action653( + let __temp0 = __action666( __4, __5, ); let __temp0 = (__start0, __temp0, __end0); - __action407( + __action418( __0, __1, __2, @@ -38339,7 +39700,7 @@ fn __action656< } #[allow(clippy::too_many_arguments)] -fn __action657< +fn __action670< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38349,12 +39710,12 @@ fn __action657< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action438( + let __temp0 = __action449( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action407( + __action418( __0, __1, __2, @@ -38364,7 +39725,7 @@ fn __action657< } #[allow(clippy::too_many_arguments)] -fn __action658< +fn __action671< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::ArgWithDefault, TextSize), @@ -38372,18 +39733,18 @@ fn __action658< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action452( + let __temp0 = __action463( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action463( + __action474( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action659< +fn __action672< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38392,19 +39753,19 @@ fn __action659< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action452( + let __temp0 = __action463( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action464( + __action475( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action660< +fn __action673< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38413,12 +39774,12 @@ fn __action660< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action450( + let __temp0 = __action461( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action401( + __action412( __0, __1, __2, @@ -38427,7 +39788,7 @@ fn __action660< } #[allow(clippy::too_many_arguments)] -fn __action661< +fn __action674< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38437,11 +39798,11 @@ fn __action661< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action451( + let __temp0 = __action462( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action401( + __action412( __0, __1, __2, @@ -38450,7 +39811,7 @@ fn __action661< } #[allow(clippy::too_many_arguments)] -fn __action662< +fn __action675< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38461,12 +39822,12 @@ fn __action662< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action450( + let __temp0 = __action461( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action651( + __action664( __0, __1, __2, @@ -38477,7 +39838,7 @@ fn __action662< } #[allow(clippy::too_many_arguments)] -fn __action663< +fn __action676< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38489,11 +39850,11 @@ fn __action663< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action451( + let __temp0 = __action462( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action651( + __action664( __0, __1, __2, @@ -38504,7 +39865,7 @@ fn __action663< } #[allow(clippy::too_many_arguments)] -fn __action664< +fn __action677< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38513,12 +39874,12 @@ fn __action664< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action450( + let __temp0 = __action461( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action652( + __action665( __0, __1, __2, @@ -38527,7 +39888,7 @@ fn __action664< } #[allow(clippy::too_many_arguments)] -fn __action665< +fn __action678< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38537,11 +39898,11 @@ fn __action665< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action451( + let __temp0 = __action462( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action652( + __action665( __0, __1, __2, @@ -38550,7 +39911,7 @@ fn __action665< } #[allow(clippy::too_many_arguments)] -fn __action666< +fn __action679< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::ArgWithDefault, TextSize), @@ -38558,18 +39919,18 @@ fn __action666< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action441( + let __temp0 = __action452( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action465( + __action476( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action667< +fn __action680< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38578,19 +39939,19 @@ fn __action667< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action441( + let __temp0 = __action452( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action466( + __action477( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action668< +fn __action681< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38599,12 +39960,12 @@ fn __action668< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action439( + let __temp0 = __action450( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action409( + __action420( __0, __1, __2, @@ -38613,7 +39974,7 @@ fn __action668< } #[allow(clippy::too_many_arguments)] -fn __action669< +fn __action682< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38623,11 +39984,11 @@ fn __action669< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action440( + let __temp0 = __action451( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action409( + __action420( __0, __1, __2, @@ -38636,7 +39997,7 @@ fn __action669< } #[allow(clippy::too_many_arguments)] -fn __action670< +fn __action683< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38647,12 +40008,12 @@ fn __action670< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action439( + let __temp0 = __action450( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action656( + __action669( __0, __1, __2, @@ -38663,7 +40024,7 @@ fn __action670< } #[allow(clippy::too_many_arguments)] -fn __action671< +fn __action684< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38675,11 +40036,11 @@ fn __action671< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action440( + let __temp0 = __action451( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action656( + __action669( __0, __1, __2, @@ -38690,7 +40051,7 @@ fn __action671< } #[allow(clippy::too_many_arguments)] -fn __action672< +fn __action685< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38699,12 +40060,12 @@ fn __action672< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action439( + let __temp0 = __action450( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action657( + __action670( __0, __1, __2, @@ -38713,7 +40074,7 @@ fn __action672< } #[allow(clippy::too_many_arguments)] -fn __action673< +fn __action686< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38723,11 +40084,11 @@ fn __action673< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action440( + let __temp0 = __action451( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action657( + __action670( __0, __1, __2, @@ -38736,7 +40097,7 @@ fn __action673< } #[allow(clippy::too_many_arguments)] -fn __action674< +fn __action687< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38747,11 +40108,11 @@ fn __action674< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action455( + let __temp0 = __action466( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action662( + __action675( __0, __1, __temp0, @@ -38761,7 +40122,7 @@ fn __action674< } #[allow(clippy::too_many_arguments)] -fn __action675< +fn __action688< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38771,12 +40132,12 @@ fn __action675< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action456( + let __temp0 = __action467( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action662( + __action675( __0, __1, __temp0, @@ -38786,7 +40147,7 @@ fn __action675< } #[allow(clippy::too_many_arguments)] -fn __action676< +fn __action689< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38798,11 +40159,11 @@ fn __action676< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action455( + let __temp0 = __action466( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action663( + __action676( __0, __1, __temp0, @@ -38813,7 +40174,7 @@ fn __action676< } #[allow(clippy::too_many_arguments)] -fn __action677< +fn __action690< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38824,12 +40185,12 @@ fn __action677< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action456( + let __temp0 = __action467( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action663( + __action676( __0, __1, __temp0, @@ -38840,7 +40201,7 @@ fn __action677< } #[allow(clippy::too_many_arguments)] -fn __action678< +fn __action691< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38849,11 +40210,11 @@ fn __action678< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action455( + let __temp0 = __action466( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action664( + __action677( __0, __1, __temp0, @@ -38861,7 +40222,7 @@ fn __action678< } #[allow(clippy::too_many_arguments)] -fn __action679< +fn __action692< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38869,12 +40230,12 @@ fn __action679< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action456( + let __temp0 = __action467( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action664( + __action677( __0, __1, __temp0, @@ -38882,7 +40243,7 @@ fn __action679< } #[allow(clippy::too_many_arguments)] -fn __action680< +fn __action693< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38892,11 +40253,11 @@ fn __action680< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action455( + let __temp0 = __action466( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action665( + __action678( __0, __1, __temp0, @@ -38905,7 +40266,7 @@ fn __action680< } #[allow(clippy::too_many_arguments)] -fn __action681< +fn __action694< >( __0: (TextSize, TextSize, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -38914,12 +40275,12 @@ fn __action681< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action456( + let __temp0 = __action467( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action665( + __action678( __0, __1, __temp0, @@ -38928,7 +40289,7 @@ fn __action681< } #[allow(clippy::too_many_arguments)] -fn __action682< +fn __action695< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -38938,12 +40299,12 @@ fn __action682< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action307( + __action318( __temp0, __0, __1, @@ -38953,7 +40314,7 @@ fn __action682< } #[allow(clippy::too_many_arguments)] -fn __action683< +fn __action696< >( __0: (TextSize, (String, StringKind, bool), TextSize), __1: (TextSize, TextSize, TextSize), @@ -38961,12 +40322,12 @@ fn __action683< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action316( + __action327( __temp0, __0, __1, @@ -38974,7 +40335,7 @@ fn __action683< } #[allow(clippy::too_many_arguments)] -fn __action684< +fn __action697< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -38984,12 +40345,12 @@ fn __action684< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action108( + __action109( __temp0, __0, __1, @@ -38999,7 +40360,7 @@ fn __action684< } #[allow(clippy::too_many_arguments)] -fn __action685< +fn __action698< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -39009,12 +40370,12 @@ fn __action685< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action433( + __action444( __temp0, __0, __1, @@ -39024,7 +40385,7 @@ fn __action685< } #[allow(clippy::too_many_arguments)] -fn __action686< +fn __action699< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -39034,12 +40395,12 @@ fn __action686< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action492( + __action503( __temp0, __0, __1, @@ -39049,7 +40410,7 @@ fn __action686< } #[allow(clippy::too_many_arguments)] -fn __action687< +fn __action700< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -39058,12 +40419,12 @@ fn __action687< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action417( + __action428( __temp0, __0, __1, @@ -39072,7 +40433,7 @@ fn __action687< } #[allow(clippy::too_many_arguments)] -fn __action688< +fn __action701< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -39081,12 +40442,12 @@ fn __action688< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action461( + __action472( __temp0, __0, __1, @@ -39095,7 +40456,7 @@ fn __action688< } #[allow(clippy::too_many_arguments)] -fn __action689< +fn __action702< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -39105,12 +40466,12 @@ fn __action689< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action474( + __action485( __temp0, __0, __1, @@ -39120,7 +40481,7 @@ fn __action689< } #[allow(clippy::too_many_arguments)] -fn __action690< +fn __action703< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -39130,12 +40491,12 @@ fn __action690< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action519( + __action530( __temp0, __0, __1, @@ -39145,7 +40506,7 @@ fn __action690< } #[allow(clippy::too_many_arguments)] -fn __action691< +fn __action704< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -39155,12 +40516,12 @@ fn __action691< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action89( + __action90( __temp0, __0, __1, @@ -39170,7 +40531,7 @@ fn __action691< } #[allow(clippy::too_many_arguments)] -fn __action692< +fn __action705< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -39180,12 +40541,12 @@ fn __action692< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action70( + __action71( __temp0, __0, __1, @@ -39195,26 +40556,26 @@ fn __action692< } #[allow(clippy::too_many_arguments)] -fn __action693< +fn __action706< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action500( + __action511( __temp0, __0, ) } #[allow(clippy::too_many_arguments)] -fn __action694< +fn __action707< >( __0: (TextSize, ast::Constant, TextSize), __1: (TextSize, TextSize, TextSize), @@ -39222,12 +40583,12 @@ fn __action694< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action501( + __action512( __temp0, __0, __1, @@ -39235,7 +40596,7 @@ fn __action694< } #[allow(clippy::too_many_arguments)] -fn __action695< +fn __action708< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -39243,12 +40604,12 @@ fn __action695< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action502( + __action513( __temp0, __0, __1, @@ -39256,7 +40617,7 @@ fn __action695< } #[allow(clippy::too_many_arguments)] -fn __action696< +fn __action709< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -39266,12 +40627,12 @@ fn __action696< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action503( + __action514( __temp0, __0, __1, @@ -39281,7 +40642,7 @@ fn __action696< } #[allow(clippy::too_many_arguments)] -fn __action697< +fn __action710< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -39292,12 +40653,12 @@ fn __action697< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action504( + __action515( __temp0, __0, __1, @@ -39308,7 +40669,7 @@ fn __action697< } #[allow(clippy::too_many_arguments)] -fn __action698< +fn __action711< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -39319,12 +40680,12 @@ fn __action698< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action563( + __action574( __temp0, __0, __1, @@ -39335,7 +40696,7 @@ fn __action698< } #[allow(clippy::too_many_arguments)] -fn __action699< +fn __action712< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -39345,12 +40706,12 @@ fn __action699< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action564( + __action575( __temp0, __0, __1, @@ -39360,7 +40721,7 @@ fn __action699< } #[allow(clippy::too_many_arguments)] -fn __action700< +fn __action713< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -39373,12 +40734,12 @@ fn __action700< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action565( + __action576( __temp0, __0, __1, @@ -39391,7 +40752,7 @@ fn __action700< } #[allow(clippy::too_many_arguments)] -fn __action701< +fn __action714< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -39403,12 +40764,12 @@ fn __action701< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action566( + __action577( __temp0, __0, __1, @@ -39420,7 +40781,7 @@ fn __action701< } #[allow(clippy::too_many_arguments)] -fn __action702< +fn __action715< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -39429,12 +40790,12 @@ fn __action702< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action507( + __action518( __temp0, __0, __1, @@ -39443,7 +40804,7 @@ fn __action702< } #[allow(clippy::too_many_arguments)] -fn __action703< +fn __action716< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -39454,12 +40815,12 @@ fn __action703< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action509( + __action520( __temp0, __0, __1, @@ -39470,7 +40831,7 @@ fn __action703< } #[allow(clippy::too_many_arguments)] -fn __action704< +fn __action717< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -39481,12 +40842,12 @@ fn __action704< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action510( + __action521( __0, __temp0, __1, @@ -39497,7 +40858,7 @@ fn __action704< } #[allow(clippy::too_many_arguments)] -fn __action705< +fn __action718< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, ast::Expr)>>, TextSize), @@ -39507,12 +40868,12 @@ fn __action705< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action511( + __action522( __temp0, __0, __1, @@ -39522,7 +40883,7 @@ fn __action705< } #[allow(clippy::too_many_arguments)] -fn __action706< +fn __action719< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (ast::Expr, ast::Expr), TextSize), @@ -39533,12 +40894,12 @@ fn __action706< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action512( + __action523( __temp0, __0, __1, @@ -39549,7 +40910,7 @@ fn __action706< } #[allow(clippy::too_many_arguments)] -fn __action707< +fn __action720< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -39559,12 +40920,12 @@ fn __action707< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action513( + __action524( __temp0, __0, __1, @@ -39574,7 +40935,7 @@ fn __action707< } #[allow(clippy::too_many_arguments)] -fn __action708< +fn __action721< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -39585,12 +40946,12 @@ fn __action708< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action514( + __action525( __temp0, __0, __1, @@ -39601,7 +40962,7 @@ fn __action708< } #[allow(clippy::too_many_arguments)] -fn __action709< +fn __action722< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -39609,12 +40970,12 @@ fn __action709< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action515( + __action526( __temp0, __0, __1, @@ -39622,7 +40983,7 @@ fn __action709< } #[allow(clippy::too_many_arguments)] -fn __action710< +fn __action723< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -39630,12 +40991,12 @@ fn __action710< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action516( + __action527( __temp0, __0, __1, @@ -39643,7 +41004,7 @@ fn __action710< } #[allow(clippy::too_many_arguments)] -fn __action711< +fn __action724< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -39651,12 +41012,12 @@ fn __action711< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action517( + __action528( __temp0, __0, __1, @@ -39664,7 +41025,7 @@ fn __action711< } #[allow(clippy::too_many_arguments)] -fn __action712< +fn __action725< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -39672,12 +41033,12 @@ fn __action712< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action518( + __action529( __temp0, __0, __1, @@ -39685,26 +41046,26 @@ fn __action712< } #[allow(clippy::too_many_arguments)] -fn __action713< +fn __action726< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action545( + __action556( __temp0, __0, ) } #[allow(clippy::too_many_arguments)] -fn __action714< +fn __action727< >( __0: (TextSize, ast::Constant, TextSize), __1: (TextSize, TextSize, TextSize), @@ -39712,12 +41073,12 @@ fn __action714< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action546( + __action557( __temp0, __0, __1, @@ -39725,7 +41086,7 @@ fn __action714< } #[allow(clippy::too_many_arguments)] -fn __action715< +fn __action728< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -39733,12 +41094,12 @@ fn __action715< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action547( + __action558( __temp0, __0, __1, @@ -39746,7 +41107,7 @@ fn __action715< } #[allow(clippy::too_many_arguments)] -fn __action716< +fn __action729< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -39756,12 +41117,12 @@ fn __action716< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action548( + __action559( __temp0, __0, __1, @@ -39771,7 +41132,7 @@ fn __action716< } #[allow(clippy::too_many_arguments)] -fn __action717< +fn __action730< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -39782,12 +41143,12 @@ fn __action717< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action549( + __action560( __temp0, __0, __1, @@ -39798,7 +41159,7 @@ fn __action717< } #[allow(clippy::too_many_arguments)] -fn __action718< +fn __action731< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -39811,12 +41172,12 @@ fn __action718< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action567( + __action578( __temp0, __0, __1, @@ -39829,7 +41190,7 @@ fn __action718< } #[allow(clippy::too_many_arguments)] -fn __action719< +fn __action732< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -39841,12 +41202,12 @@ fn __action719< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action568( + __action579( __temp0, __0, __1, @@ -39858,7 +41219,7 @@ fn __action719< } #[allow(clippy::too_many_arguments)] -fn __action720< +fn __action733< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -39867,12 +41228,12 @@ fn __action720< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action551( + __action562( __temp0, __0, __1, @@ -39881,7 +41242,7 @@ fn __action720< } #[allow(clippy::too_many_arguments)] -fn __action721< +fn __action734< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -39892,12 +41253,12 @@ fn __action721< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action553( + __action564( __temp0, __0, __1, @@ -39908,7 +41269,7 @@ fn __action721< } #[allow(clippy::too_many_arguments)] -fn __action722< +fn __action735< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -39919,12 +41280,12 @@ fn __action722< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action554( + __action565( __0, __temp0, __1, @@ -39935,7 +41296,7 @@ fn __action722< } #[allow(clippy::too_many_arguments)] -fn __action723< +fn __action736< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, ast::Expr)>>, TextSize), @@ -39945,12 +41306,12 @@ fn __action723< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action555( + __action566( __temp0, __0, __1, @@ -39960,7 +41321,7 @@ fn __action723< } #[allow(clippy::too_many_arguments)] -fn __action724< +fn __action737< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (ast::Expr, ast::Expr), TextSize), @@ -39971,12 +41332,12 @@ fn __action724< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action556( + __action567( __temp0, __0, __1, @@ -39987,7 +41348,7 @@ fn __action724< } #[allow(clippy::too_many_arguments)] -fn __action725< +fn __action738< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -39997,12 +41358,12 @@ fn __action725< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action557( + __action568( __temp0, __0, __1, @@ -40012,7 +41373,7 @@ fn __action725< } #[allow(clippy::too_many_arguments)] -fn __action726< +fn __action739< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -40023,12 +41384,12 @@ fn __action726< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action558( + __action569( __temp0, __0, __1, @@ -40039,7 +41400,7 @@ fn __action726< } #[allow(clippy::too_many_arguments)] -fn __action727< +fn __action740< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -40047,12 +41408,12 @@ fn __action727< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action559( + __action570( __temp0, __0, __1, @@ -40060,7 +41421,7 @@ fn __action727< } #[allow(clippy::too_many_arguments)] -fn __action728< +fn __action741< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -40068,12 +41429,12 @@ fn __action728< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action560( + __action571( __temp0, __0, __1, @@ -40081,7 +41442,7 @@ fn __action728< } #[allow(clippy::too_many_arguments)] -fn __action729< +fn __action742< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -40089,12 +41450,12 @@ fn __action729< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action561( + __action572( __temp0, __0, __1, @@ -40102,7 +41463,7 @@ fn __action729< } #[allow(clippy::too_many_arguments)] -fn __action730< +fn __action743< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -40110,12 +41471,12 @@ fn __action730< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action562( + __action573( __temp0, __0, __1, @@ -40123,7 +41484,7 @@ fn __action730< } #[allow(clippy::too_many_arguments)] -fn __action731< +fn __action744< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40134,12 +41495,12 @@ fn __action731< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action497( + __action508( __temp0, __0, __1, @@ -40150,7 +41511,7 @@ fn __action731< } #[allow(clippy::too_many_arguments)] -fn __action732< +fn __action745< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40161,12 +41522,12 @@ fn __action732< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action498( + __action509( __temp0, __0, __1, @@ -40177,7 +41538,7 @@ fn __action732< } #[allow(clippy::too_many_arguments)] -fn __action733< +fn __action746< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40187,12 +41548,12 @@ fn __action733< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action499( + __action510( __temp0, __0, __1, @@ -40202,7 +41563,7 @@ fn __action733< } #[allow(clippy::too_many_arguments)] -fn __action734< +fn __action747< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40213,12 +41574,12 @@ fn __action734< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action542( + __action553( __temp0, __0, __1, @@ -40229,7 +41590,7 @@ fn __action734< } #[allow(clippy::too_many_arguments)] -fn __action735< +fn __action748< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40240,12 +41601,12 @@ fn __action735< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action543( + __action554( __temp0, __0, __1, @@ -40256,7 +41617,7 @@ fn __action735< } #[allow(clippy::too_many_arguments)] -fn __action736< +fn __action749< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40266,12 +41627,12 @@ fn __action736< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action544( + __action555( __temp0, __0, __1, @@ -40281,7 +41642,7 @@ fn __action736< } #[allow(clippy::too_many_arguments)] -fn __action737< +fn __action750< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -40290,12 +41651,12 @@ fn __action737< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action490( + __action501( __temp0, __0, __1, @@ -40304,7 +41665,7 @@ fn __action737< } #[allow(clippy::too_many_arguments)] -fn __action738< +fn __action751< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -40313,12 +41674,12 @@ fn __action738< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action539( + __action550( __temp0, __0, __1, @@ -40327,7 +41688,7 @@ fn __action738< } #[allow(clippy::too_many_arguments)] -fn __action739< +fn __action752< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -40335,12 +41696,12 @@ fn __action739< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action115( + __action116( __temp0, __0, __1, @@ -40348,28 +41709,29 @@ fn __action739< } #[allow(clippy::too_many_arguments)] -fn __action740< +fn __action753< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, token::Tok, TextSize), - __4: (TextSize, ArgumentList, TextSize), - __5: (TextSize, token::Tok, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ArgumentList, TextSize), __6: (TextSize, token::Tok, TextSize), - __7: (TextSize, ast::Suite, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { - let __start0 = __0.2; - let __end0 = __1.0; - let __temp0 = __action373( + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action646( - __0, + __action659( __temp0, + __0, __1, __2, __3, @@ -40377,38 +41739,41 @@ fn __action740< __5, __6, __7, + __8, ) } #[allow(clippy::too_many_arguments)] -fn __action741< +fn __action754< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, token::Tok, TextSize), - __4: (TextSize, ast::Suite, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { - let __start0 = __0.2; - let __end0 = __1.0; - let __temp0 = __action373( + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action647( - __0, + __action660( __temp0, + __0, __1, __2, __3, __4, + __5, ) } #[allow(clippy::too_many_arguments)] -fn __action742< +fn __action755< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40422,12 +41787,12 @@ fn __action742< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action569( + __action580( __temp0, __0, __1, @@ -40441,7 +41806,7 @@ fn __action742< } #[allow(clippy::too_many_arguments)] -fn __action743< +fn __action756< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40454,12 +41819,12 @@ fn __action743< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action570( + __action581( __temp0, __0, __1, @@ -40472,7 +41837,7 @@ fn __action743< } #[allow(clippy::too_many_arguments)] -fn __action744< +fn __action757< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40484,12 +41849,12 @@ fn __action744< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action571( + __action582( __temp0, __0, __1, @@ -40501,7 +41866,7 @@ fn __action744< } #[allow(clippy::too_many_arguments)] -fn __action745< +fn __action758< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40512,12 +41877,12 @@ fn __action745< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action572( + __action583( __temp0, __0, __1, @@ -40528,7 +41893,7 @@ fn __action745< } #[allow(clippy::too_many_arguments)] -fn __action746< +fn __action759< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40540,12 +41905,12 @@ fn __action746< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action573( + __action584( __temp0, __0, __1, @@ -40557,7 +41922,7 @@ fn __action746< } #[allow(clippy::too_many_arguments)] -fn __action747< +fn __action760< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40568,12 +41933,12 @@ fn __action747< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action574( + __action585( __temp0, __0, __1, @@ -40584,7 +41949,7 @@ fn __action747< } #[allow(clippy::too_many_arguments)] -fn __action748< +fn __action761< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40594,12 +41959,12 @@ fn __action748< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action136( + __action137( __temp0, __0, __1, @@ -40609,7 +41974,7 @@ fn __action748< } #[allow(clippy::too_many_arguments)] -fn __action749< +fn __action762< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40623,12 +41988,12 @@ fn __action749< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action575( + __action586( __temp0, __0, __1, @@ -40642,7 +42007,7 @@ fn __action749< } #[allow(clippy::too_many_arguments)] -fn __action750< +fn __action763< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40655,12 +42020,12 @@ fn __action750< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action576( + __action587( __temp0, __0, __1, @@ -40673,7 +42038,7 @@ fn __action750< } #[allow(clippy::too_many_arguments)] -fn __action751< +fn __action764< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40685,12 +42050,12 @@ fn __action751< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action577( + __action588( __temp0, __0, __1, @@ -40702,7 +42067,7 @@ fn __action751< } #[allow(clippy::too_many_arguments)] -fn __action752< +fn __action765< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40713,12 +42078,12 @@ fn __action752< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action578( + __action589( __temp0, __0, __1, @@ -40729,7 +42094,7 @@ fn __action752< } #[allow(clippy::too_many_arguments)] -fn __action753< +fn __action766< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40741,12 +42106,12 @@ fn __action753< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action579( + __action590( __temp0, __0, __1, @@ -40758,7 +42123,7 @@ fn __action753< } #[allow(clippy::too_many_arguments)] -fn __action754< +fn __action767< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40769,12 +42134,12 @@ fn __action754< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action580( + __action591( __temp0, __0, __1, @@ -40785,7 +42150,7 @@ fn __action754< } #[allow(clippy::too_many_arguments)] -fn __action755< +fn __action768< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -40795,12 +42160,12 @@ fn __action755< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action140( + __action141( __temp0, __0, __1, @@ -40810,7 +42175,7 @@ fn __action755< } #[allow(clippy::too_many_arguments)] -fn __action756< +fn __action769< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), @@ -40819,12 +42184,12 @@ fn __action756< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action469( + __action480( __temp0, __0, __1, @@ -40833,7 +42198,7 @@ fn __action756< } #[allow(clippy::too_many_arguments)] -fn __action757< +fn __action770< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), @@ -40842,12 +42207,12 @@ fn __action757< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action478( + __action489( __temp0, __0, __1, @@ -40856,7 +42221,7 @@ fn __action757< } #[allow(clippy::too_many_arguments)] -fn __action758< +fn __action771< >( __0: (TextSize, ast::Constant, TextSize), __1: (TextSize, TextSize, TextSize), @@ -40864,12 +42229,12 @@ fn __action758< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action105( + __action106( __temp0, __0, __1, @@ -40877,7 +42242,7 @@ fn __action758< } #[allow(clippy::too_many_arguments)] -fn __action759< +fn __action772< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -40886,12 +42251,12 @@ fn __action759< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action107( + __action108( __temp0, __0, __1, @@ -40900,30 +42265,32 @@ fn __action759< } #[allow(clippy::too_many_arguments)] -fn __action760< +fn __action773< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), - __2: (TextSize, token::Tok, TextSize), -) -> ast::Expr + __2: (TextSize, TextSize, TextSize), + __3: (TextSize, token::Tok, TextSize), +) -> ast::Decorator { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action165( + __action172( __temp0, __0, __1, __2, + __3, ) } #[allow(clippy::too_many_arguments)] -fn __action761< +fn __action774< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -40932,12 +42299,12 @@ fn __action761< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action23( + __action24( __temp0, __0, __1, @@ -40946,7 +42313,51 @@ fn __action761< } #[allow(clippy::too_many_arguments)] -fn __action762< +fn __action775< +>( + __0: (TextSize, String, TextSize), + __1: (TextSize, TextSize, TextSize), +) -> ast::Identifier +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action67( + __temp0, + __0, + __1, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action776< +>( + __0: (TextSize, String, TextSize), + __1: (TextSize, alloc::vec::Vec<(token::Tok, ast::Identifier)>, TextSize), + __2: (TextSize, TextSize, TextSize), +) -> ast::Identifier +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action68( + __temp0, + __0, + __1, + __2, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action777< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -40955,12 +42366,12 @@ fn __action762< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action163( + __action166( __temp0, __0, __1, @@ -40969,7 +42380,7 @@ fn __action762< } #[allow(clippy::too_many_arguments)] -fn __action763< +fn __action778< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -40979,12 +42390,12 @@ fn __action763< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action149( + __action150( __temp0, __0, __1, @@ -40994,7 +42405,7 @@ fn __action763< } #[allow(clippy::too_many_arguments)] -fn __action764< +fn __action779< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (ast::Expr, ast::Identifier), TextSize), @@ -41004,12 +42415,12 @@ fn __action764< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action150( + __action151( __temp0, __0, __1, @@ -41019,7 +42430,7 @@ fn __action764< } #[allow(clippy::too_many_arguments)] -fn __action765< +fn __action780< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41030,12 +42441,12 @@ fn __action765< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action147( + __action148( __temp0, __0, __1, @@ -41046,7 +42457,7 @@ fn __action765< } #[allow(clippy::too_many_arguments)] -fn __action766< +fn __action781< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41057,12 +42468,12 @@ fn __action766< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action148( + __action149( __temp0, __0, __1, @@ -41073,7 +42484,7 @@ fn __action766< } #[allow(clippy::too_many_arguments)] -fn __action767< +fn __action782< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41083,12 +42494,12 @@ fn __action767< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action238( + __action245( __temp0, __0, __1, @@ -41098,7 +42509,7 @@ fn __action767< } #[allow(clippy::too_many_arguments)] -fn __action768< +fn __action783< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41108,12 +42519,12 @@ fn __action768< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action484( + __action495( __temp0, __0, __1, @@ -41123,7 +42534,7 @@ fn __action768< } #[allow(clippy::too_many_arguments)] -fn __action769< +fn __action784< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -41132,12 +42543,12 @@ fn __action769< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action24( + __action25( __temp0, __0, __1, @@ -41146,7 +42557,7 @@ fn __action769< } #[allow(clippy::too_many_arguments)] -fn __action770< +fn __action785< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -41156,12 +42567,12 @@ fn __action770< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action25( + __action26( __temp0, __0, __1, @@ -41171,7 +42582,7 @@ fn __action770< } #[allow(clippy::too_many_arguments)] -fn __action771< +fn __action786< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41182,12 +42593,12 @@ fn __action771< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action26( + __action27( __temp0, __0, __1, @@ -41198,7 +42609,7 @@ fn __action771< } #[allow(clippy::too_many_arguments)] -fn __action772< +fn __action787< >( __0: (TextSize, ast::UnaryOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41207,12 +42618,12 @@ fn __action772< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action482( + __action493( __temp0, __0, __1, @@ -41221,7 +42632,7 @@ fn __action772< } #[allow(clippy::too_many_arguments)] -fn __action773< +fn __action788< >( __0: (TextSize, ast::UnaryOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41230,12 +42641,12 @@ fn __action773< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action535( + __action546( __temp0, __0, __1, @@ -41244,7 +42655,7 @@ fn __action773< } #[allow(clippy::too_many_arguments)] -fn __action774< +fn __action789< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41252,12 +42663,12 @@ fn __action774< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action50( + __action51( __temp0, __0, __1, @@ -41265,7 +42676,7 @@ fn __action774< } #[allow(clippy::too_many_arguments)] -fn __action775< +fn __action790< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41273,12 +42684,12 @@ fn __action775< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action51( + __action52( __temp0, __0, __1, @@ -41286,7 +42697,7 @@ fn __action775< } #[allow(clippy::too_many_arguments)] -fn __action776< +fn __action791< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -41295,12 +42706,12 @@ fn __action776< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action52( + __action53( __temp0, __0, __1, @@ -41309,7 +42720,7 @@ fn __action776< } #[allow(clippy::too_many_arguments)] -fn __action777< +fn __action792< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41317,12 +42728,12 @@ fn __action777< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action53( + __action54( __temp0, __0, __1, @@ -41330,7 +42741,7 @@ fn __action777< } #[allow(clippy::too_many_arguments)] -fn __action778< +fn __action793< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41344,12 +42755,12 @@ fn __action778< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action637( + __action650( __temp0, __0, __1, @@ -41363,7 +42774,7 @@ fn __action778< } #[allow(clippy::too_many_arguments)] -fn __action779< +fn __action794< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41376,12 +42787,12 @@ fn __action779< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action638( + __action651( __temp0, __0, __1, @@ -41394,28 +42805,29 @@ fn __action779< } #[allow(clippy::too_many_arguments)] -fn __action780< +fn __action795< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), - __4: (TextSize, ast::Arguments, TextSize), - __5: (TextSize, core::option::Option, TextSize), - __6: (TextSize, token::Tok, TextSize), - __7: (TextSize, ast::Suite, TextSize), + __4: (TextSize, core::option::Option>, TextSize), + __5: (TextSize, ast::Arguments, TextSize), + __6: (TextSize, core::option::Option, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { - let __start0 = __0.2; - let __end0 = __1.0; - let __temp0 = __action373( + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action639( - __0, + __action652( __temp0, + __0, __1, __2, __3, @@ -41423,42 +42835,45 @@ fn __action780< __5, __6, __7, + __8, ) } #[allow(clippy::too_many_arguments)] -fn __action781< +fn __action796< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, ast::Arguments, TextSize), - __4: (TextSize, core::option::Option, TextSize), - __5: (TextSize, token::Tok, TextSize), - __6: (TextSize, ast::Suite, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, core::option::Option, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { - let __start0 = __0.2; - let __end0 = __1.0; - let __temp0 = __action373( + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action640( - __0, + __action653( __temp0, + __0, __1, __2, __3, __4, __5, __6, + __7, ) } #[allow(clippy::too_many_arguments)] -fn __action782< +fn __action797< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -41467,12 +42882,12 @@ fn __action782< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action217( + __action224( __temp0, __0, __1, @@ -41481,7 +42896,7 @@ fn __action782< } #[allow(clippy::too_many_arguments)] -fn __action783< +fn __action798< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41491,12 +42906,12 @@ fn __action783< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action218( + __action225( __temp0, __0, __1, @@ -41506,7 +42921,7 @@ fn __action783< } #[allow(clippy::too_many_arguments)] -fn __action784< +fn __action799< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41515,12 +42930,12 @@ fn __action784< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action219( + __action226( __temp0, __0, __1, @@ -41529,7 +42944,7 @@ fn __action784< } #[allow(clippy::too_many_arguments)] -fn __action785< +fn __action800< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41538,12 +42953,12 @@ fn __action785< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action220( + __action227( __temp0, __0, __1, @@ -41552,7 +42967,7 @@ fn __action785< } #[allow(clippy::too_many_arguments)] -fn __action786< +fn __action801< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41561,12 +42976,12 @@ fn __action786< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action585( + __action596( __temp0, __0, __1, @@ -41575,7 +42990,7 @@ fn __action786< } #[allow(clippy::too_many_arguments)] -fn __action787< +fn __action802< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41583,12 +42998,12 @@ fn __action787< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action586( + __action597( __temp0, __0, __1, @@ -41596,7 +43011,7 @@ fn __action787< } #[allow(clippy::too_many_arguments)] -fn __action788< +fn __action803< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -41605,12 +43020,12 @@ fn __action788< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action587( + __action598( __temp0, __0, __1, @@ -41619,7 +43034,7 @@ fn __action788< } #[allow(clippy::too_many_arguments)] -fn __action789< +fn __action804< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41627,12 +43042,12 @@ fn __action789< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action588( + __action599( __temp0, __0, __1, @@ -41640,7 +43055,7 @@ fn __action789< } #[allow(clippy::too_many_arguments)] -fn __action790< +fn __action805< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -41649,12 +43064,12 @@ fn __action790< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action68( + __action69( __temp0, __0, __1, @@ -41663,7 +43078,28 @@ fn __action790< } #[allow(clippy::too_many_arguments)] -fn __action791< +fn __action806< +>( + __0: (TextSize, String, TextSize), + __1: (TextSize, TextSize, TextSize), +) -> ast::Identifier +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action231( + __temp0, + __0, + __1, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action807< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -41675,12 +43111,12 @@ fn __action791< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action141( + __action142( __temp0, __0, __1, @@ -41692,7 +43128,7 @@ fn __action791< } #[allow(clippy::too_many_arguments)] -fn __action792< +fn __action808< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -41701,12 +43137,12 @@ fn __action792< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action351( + __action362( __temp0, __0, __1, @@ -41715,7 +43151,7 @@ fn __action792< } #[allow(clippy::too_many_arguments)] -fn __action793< +fn __action809< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -41724,12 +43160,12 @@ fn __action793< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action344( + __action355( __temp0, __0, __1, @@ -41738,7 +43174,7 @@ fn __action793< } #[allow(clippy::too_many_arguments)] -fn __action794< +fn __action810< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41746,12 +43182,12 @@ fn __action794< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action63( + __action64( __temp0, __0, __1, @@ -41759,7 +43195,7 @@ fn __action794< } #[allow(clippy::too_many_arguments)] -fn __action795< +fn __action811< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -41770,12 +43206,12 @@ fn __action795< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action589( + __action600( __temp0, __0, __1, @@ -41786,7 +43222,7 @@ fn __action795< } #[allow(clippy::too_many_arguments)] -fn __action796< +fn __action812< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -41796,12 +43232,12 @@ fn __action796< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action590( + __action601( __temp0, __0, __1, @@ -41811,7 +43247,7 @@ fn __action796< } #[allow(clippy::too_many_arguments)] -fn __action797< +fn __action813< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41819,12 +43255,12 @@ fn __action797< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action65( + __action66( __temp0, __0, __1, @@ -41832,7 +43268,7 @@ fn __action797< } #[allow(clippy::too_many_arguments)] -fn __action798< +fn __action814< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -41841,12 +43277,12 @@ fn __action798< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action57( + __action58( __temp0, __0, __1, @@ -41855,7 +43291,7 @@ fn __action798< } #[allow(clippy::too_many_arguments)] -fn __action799< +fn __action815< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (Option, Option), TextSize), @@ -41866,12 +43302,12 @@ fn __action799< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action58( + __action59( __temp0, __0, __1, @@ -41882,7 +43318,7 @@ fn __action799< } #[allow(clippy::too_many_arguments)] -fn __action800< +fn __action816< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -41893,12 +43329,12 @@ fn __action800< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action171( + __action178( __temp0, __0, __1, @@ -41909,7 +43345,7 @@ fn __action800< } #[allow(clippy::too_many_arguments)] -fn __action801< +fn __action817< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41917,12 +43353,12 @@ fn __action801< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action109( + __action110( __temp0, __0, __1, @@ -41930,7 +43366,7 @@ fn __action801< } #[allow(clippy::too_many_arguments)] -fn __action802< +fn __action818< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41938,12 +43374,12 @@ fn __action802< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action110( + __action111( __temp0, __0, __1, @@ -41951,7 +43387,7 @@ fn __action802< } #[allow(clippy::too_many_arguments)] -fn __action803< +fn __action819< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41959,12 +43395,12 @@ fn __action803< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action111( + __action112( __temp0, __0, __1, @@ -41972,7 +43408,7 @@ fn __action803< } #[allow(clippy::too_many_arguments)] -fn __action804< +fn __action820< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -41980,12 +43416,12 @@ fn __action804< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action112( + __action113( __temp0, __0, __1, @@ -41993,7 +43429,7 @@ fn __action804< } #[allow(clippy::too_many_arguments)] -fn __action805< +fn __action821< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42001,12 +43437,12 @@ fn __action805< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action113( + __action114( __temp0, __0, __1, @@ -42014,7 +43450,7 @@ fn __action805< } #[allow(clippy::too_many_arguments)] -fn __action806< +fn __action822< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42022,12 +43458,12 @@ fn __action806< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action114( + __action115( __temp0, __0, __1, @@ -42035,7 +43471,7 @@ fn __action806< } #[allow(clippy::too_many_arguments)] -fn __action807< +fn __action823< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42043,12 +43479,12 @@ fn __action807< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action123( + __action124( __temp0, __0, __1, @@ -42056,7 +43492,7 @@ fn __action807< } #[allow(clippy::too_many_arguments)] -fn __action808< +fn __action824< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42064,12 +43500,12 @@ fn __action808< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action124( + __action125( __temp0, __0, __1, @@ -42077,7 +43513,7 @@ fn __action808< } #[allow(clippy::too_many_arguments)] -fn __action809< +fn __action825< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42085,12 +43521,12 @@ fn __action809< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action125( + __action126( __temp0, __0, __1, @@ -42098,26 +43534,26 @@ fn __action809< } #[allow(clippy::too_many_arguments)] -fn __action810< +fn __action826< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action126( + __action127( __temp0, __0, ) } #[allow(clippy::too_many_arguments)] -fn __action811< +fn __action827< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42126,12 +43562,12 @@ fn __action811< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action128( + __action129( __temp0, __0, __1, @@ -42140,7 +43576,7 @@ fn __action811< } #[allow(clippy::too_many_arguments)] -fn __action812< +fn __action828< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -42151,12 +43587,12 @@ fn __action812< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action593( + __action604( __temp0, __0, __1, @@ -42167,7 +43603,7 @@ fn __action812< } #[allow(clippy::too_many_arguments)] -fn __action813< +fn __action829< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -42177,12 +43613,12 @@ fn __action813< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action594( + __action605( __temp0, __0, __1, @@ -42192,7 +43628,7 @@ fn __action813< } #[allow(clippy::too_many_arguments)] -fn __action814< +fn __action830< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42204,12 +43640,12 @@ fn __action814< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action595( + __action606( __temp0, __0, __1, @@ -42221,7 +43657,7 @@ fn __action814< } #[allow(clippy::too_many_arguments)] -fn __action815< +fn __action831< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42232,12 +43668,12 @@ fn __action815< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action596( + __action607( __temp0, __0, __1, @@ -42248,7 +43684,7 @@ fn __action815< } #[allow(clippy::too_many_arguments)] -fn __action816< +fn __action832< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -42262,12 +43698,12 @@ fn __action816< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action597( + __action608( __temp0, __0, __1, @@ -42281,7 +43717,7 @@ fn __action816< } #[allow(clippy::too_many_arguments)] -fn __action817< +fn __action833< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -42294,12 +43730,12 @@ fn __action817< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action598( + __action609( __temp0, __0, __1, @@ -42312,7 +43748,7 @@ fn __action817< } #[allow(clippy::too_many_arguments)] -fn __action818< +fn __action834< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -42323,12 +43759,12 @@ fn __action818< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action82( + __action83( __temp0, __0, __1, @@ -42339,7 +43775,7 @@ fn __action818< } #[allow(clippy::too_many_arguments)] -fn __action819< +fn __action835< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42347,12 +43783,12 @@ fn __action819< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action116( + __action117( __temp0, __0, __1, @@ -42360,7 +43796,7 @@ fn __action819< } #[allow(clippy::too_many_arguments)] -fn __action820< +fn __action836< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42370,12 +43806,12 @@ fn __action820< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action117( + __action118( __temp0, __0, __1, @@ -42385,7 +43821,7 @@ fn __action820< } #[allow(clippy::too_many_arguments)] -fn __action821< +fn __action837< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42395,12 +43831,12 @@ fn __action821< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action118( + __action119( __temp0, __0, __1, @@ -42410,7 +43846,7 @@ fn __action821< } #[allow(clippy::too_many_arguments)] -fn __action822< +fn __action838< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42423,12 +43859,12 @@ fn __action822< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action79( + __action80( __temp0, __0, __1, @@ -42441,7 +43877,7 @@ fn __action822< } #[allow(clippy::too_many_arguments)] -fn __action823< +fn __action839< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42455,12 +43891,12 @@ fn __action823< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action80( + __action81( __temp0, __0, __1, @@ -42474,7 +43910,7 @@ fn __action823< } #[allow(clippy::too_many_arguments)] -fn __action824< +fn __action840< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -42488,12 +43924,12 @@ fn __action824< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action599( + __action610( __temp0, __0, __1, @@ -42507,7 +43943,7 @@ fn __action824< } #[allow(clippy::too_many_arguments)] -fn __action825< +fn __action841< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -42520,12 +43956,12 @@ fn __action825< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action600( + __action611( __temp0, __0, __1, @@ -42538,7 +43974,7 @@ fn __action825< } #[allow(clippy::too_many_arguments)] -fn __action826< +fn __action842< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42548,12 +43984,12 @@ fn __action826< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action170( + __action177( __temp0, __0, __1, @@ -42563,7 +43999,7 @@ fn __action826< } #[allow(clippy::too_many_arguments)] -fn __action827< +fn __action843< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -42572,12 +44008,12 @@ fn __action827< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action69( + __action70( __temp0, __0, __1, @@ -42586,7 +44022,7 @@ fn __action827< } #[allow(clippy::too_many_arguments)] -fn __action828< +fn __action844< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42595,12 +44031,12 @@ fn __action828< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action431( + __action442( __temp0, __0, __1, @@ -42609,7 +44045,7 @@ fn __action828< } #[allow(clippy::too_many_arguments)] -fn __action829< +fn __action845< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42618,12 +44054,12 @@ fn __action829< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action476( + __action487( __temp0, __0, __1, @@ -42632,7 +44068,7 @@ fn __action829< } #[allow(clippy::too_many_arguments)] -fn __action830< +fn __action846< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42640,12 +44076,12 @@ fn __action830< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action91( + __action92( __temp0, __0, __1, @@ -42653,7 +44089,7 @@ fn __action830< } #[allow(clippy::too_many_arguments)] -fn __action831< +fn __action847< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42662,12 +44098,12 @@ fn __action831< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action230( + __action237( __temp0, __0, __1, @@ -42676,7 +44112,7 @@ fn __action831< } #[allow(clippy::too_many_arguments)] -fn __action832< +fn __action848< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -42685,12 +44121,12 @@ fn __action832< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action459( + __action470( __temp0, __0, __1, @@ -42699,7 +44135,7 @@ fn __action832< } #[allow(clippy::too_many_arguments)] -fn __action833< +fn __action849< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, core::option::Option<(Option>, Vec, Option>)>, TextSize), @@ -42709,12 +44145,12 @@ fn __action833< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action601( + __action612( __temp0, __0, __1, @@ -42724,7 +44160,7 @@ fn __action833< } #[allow(clippy::too_many_arguments)] -fn __action834< +fn __action850< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, core::option::Option<(Option>, Vec, Option>)>, TextSize), @@ -42733,12 +44169,12 @@ fn __action834< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action602( + __action613( __temp0, __0, __1, @@ -42747,7 +44183,7 @@ fn __action834< } #[allow(clippy::too_many_arguments)] -fn __action835< +fn __action851< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42758,12 +44194,12 @@ fn __action835< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action649( + __action662( __temp0, __0, __1, @@ -42774,7 +44210,7 @@ fn __action835< } #[allow(clippy::too_many_arguments)] -fn __action836< +fn __action852< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42784,12 +44220,12 @@ fn __action836< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action650( + __action663( __temp0, __0, __1, @@ -42799,7 +44235,7 @@ fn __action836< } #[allow(clippy::too_many_arguments)] -fn __action837< +fn __action853< >( __0: (TextSize, (Option>, Vec, Option>), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42808,12 +44244,12 @@ fn __action837< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action605( + __action616( __temp0, __0, __1, @@ -42822,7 +44258,7 @@ fn __action837< } #[allow(clippy::too_many_arguments)] -fn __action838< +fn __action854< >( __0: (TextSize, (Option>, Vec, Option>), TextSize), __1: (TextSize, TextSize, TextSize), @@ -42830,12 +44266,12 @@ fn __action838< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action606( + __action617( __temp0, __0, __1, @@ -42843,7 +44279,7 @@ fn __action838< } #[allow(clippy::too_many_arguments)] -fn __action839< +fn __action855< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42852,12 +44288,12 @@ fn __action839< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action607( + __action618( __temp0, __0, __1, @@ -42866,7 +44302,7 @@ fn __action839< } #[allow(clippy::too_many_arguments)] -fn __action840< +fn __action856< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, TextSize, TextSize), @@ -42874,12 +44310,12 @@ fn __action840< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action608( + __action619( __temp0, __0, __1, @@ -42887,7 +44323,7 @@ fn __action840< } #[allow(clippy::too_many_arguments)] -fn __action841< +fn __action857< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, core::option::Option<(Option>, Vec, Option>)>, TextSize), @@ -42897,12 +44333,12 @@ fn __action841< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action609( + __action620( __temp0, __0, __1, @@ -42912,7 +44348,7 @@ fn __action841< } #[allow(clippy::too_many_arguments)] -fn __action842< +fn __action858< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, core::option::Option<(Option>, Vec, Option>)>, TextSize), @@ -42921,12 +44357,12 @@ fn __action842< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action610( + __action621( __temp0, __0, __1, @@ -42935,7 +44371,7 @@ fn __action842< } #[allow(clippy::too_many_arguments)] -fn __action843< +fn __action859< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42946,12 +44382,12 @@ fn __action843< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action654( + __action667( __temp0, __0, __1, @@ -42962,7 +44398,7 @@ fn __action843< } #[allow(clippy::too_many_arguments)] -fn __action844< +fn __action860< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42972,12 +44408,12 @@ fn __action844< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action655( + __action668( __temp0, __0, __1, @@ -42987,7 +44423,7 @@ fn __action844< } #[allow(clippy::too_many_arguments)] -fn __action845< +fn __action861< >( __0: (TextSize, (Option>, Vec, Option>), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -42996,12 +44432,12 @@ fn __action845< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action613( + __action624( __temp0, __0, __1, @@ -43010,7 +44446,7 @@ fn __action845< } #[allow(clippy::too_many_arguments)] -fn __action846< +fn __action862< >( __0: (TextSize, (Option>, Vec, Option>), TextSize), __1: (TextSize, TextSize, TextSize), @@ -43018,12 +44454,12 @@ fn __action846< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action614( + __action625( __temp0, __0, __1, @@ -43031,7 +44467,7 @@ fn __action846< } #[allow(clippy::too_many_arguments)] -fn __action847< +fn __action863< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43040,12 +44476,12 @@ fn __action847< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action615( + __action626( __temp0, __0, __1, @@ -43054,7 +44490,7 @@ fn __action847< } #[allow(clippy::too_many_arguments)] -fn __action848< +fn __action864< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43062,12 +44498,12 @@ fn __action848< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action616( + __action627( __temp0, __0, __1, @@ -43075,7 +44511,7 @@ fn __action848< } #[allow(clippy::too_many_arguments)] -fn __action849< +fn __action865< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -43085,12 +44521,12 @@ fn __action849< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action674( + __action687( __temp0, __0, __1, @@ -43100,7 +44536,7 @@ fn __action849< } #[allow(clippy::too_many_arguments)] -fn __action850< +fn __action866< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43109,12 +44545,12 @@ fn __action850< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action675( + __action688( __temp0, __0, __1, @@ -43123,7 +44559,7 @@ fn __action850< } #[allow(clippy::too_many_arguments)] -fn __action851< +fn __action867< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -43134,12 +44570,12 @@ fn __action851< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action676( + __action689( __temp0, __0, __1, @@ -43150,7 +44586,7 @@ fn __action851< } #[allow(clippy::too_many_arguments)] -fn __action852< +fn __action868< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -43160,12 +44596,12 @@ fn __action852< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action677( + __action690( __temp0, __0, __1, @@ -43175,7 +44611,7 @@ fn __action852< } #[allow(clippy::too_many_arguments)] -fn __action853< +fn __action869< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -43183,12 +44619,12 @@ fn __action853< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action678( + __action691( __temp0, __0, __1, @@ -43196,26 +44632,26 @@ fn __action853< } #[allow(clippy::too_many_arguments)] -fn __action854< +fn __action870< >( __0: (TextSize, token::Tok, TextSize), ) -> Result<(Option>, Vec, Option>),__lalrpop_util::ParseError> { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action679( + __action692( __temp0, __0, ) } #[allow(clippy::too_many_arguments)] -fn __action855< +fn __action871< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -43224,12 +44660,12 @@ fn __action855< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action680( + __action693( __temp0, __0, __1, @@ -43238,7 +44674,7 @@ fn __action855< } #[allow(clippy::too_many_arguments)] -fn __action856< +fn __action872< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -43246,12 +44682,12 @@ fn __action856< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action681( + __action694( __temp0, __0, __1, @@ -43259,7 +44695,7 @@ fn __action856< } #[allow(clippy::too_many_arguments)] -fn __action857< +fn __action873< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43269,12 +44705,12 @@ fn __action857< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action670( + __action683( __temp0, __0, __1, @@ -43284,7 +44720,7 @@ fn __action857< } #[allow(clippy::too_many_arguments)] -fn __action858< +fn __action874< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43295,12 +44731,12 @@ fn __action858< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action671( + __action684( __temp0, __0, __1, @@ -43311,7 +44747,7 @@ fn __action858< } #[allow(clippy::too_many_arguments)] -fn __action859< +fn __action875< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43319,12 +44755,12 @@ fn __action859< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action672( + __action685( __temp0, __0, __1, @@ -43332,7 +44768,7 @@ fn __action859< } #[allow(clippy::too_many_arguments)] -fn __action860< +fn __action876< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43341,12 +44777,12 @@ fn __action860< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action673( + __action686( __temp0, __0, __1, @@ -43355,7 +44791,7 @@ fn __action860< } #[allow(clippy::too_many_arguments)] -fn __action861< +fn __action877< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43365,12 +44801,12 @@ fn __action861< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action158( + __action161( __temp0, __0, __1, @@ -43380,7 +44816,7 @@ fn __action861< } #[allow(clippy::too_many_arguments)] -fn __action862< +fn __action878< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43388,12 +44824,12 @@ fn __action862< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action22( + __action23( __temp0, __0, __1, @@ -43401,7 +44837,7 @@ fn __action862< } #[allow(clippy::too_many_arguments)] -fn __action863< +fn __action879< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43410,12 +44846,12 @@ fn __action863< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action84( + __action85( __temp0, __0, __1, @@ -43424,7 +44860,7 @@ fn __action863< } #[allow(clippy::too_many_arguments)] -fn __action864< +fn __action880< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43433,12 +44869,12 @@ fn __action864< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action617( + __action628( __temp0, __0, __1, @@ -43447,7 +44883,7 @@ fn __action864< } #[allow(clippy::too_many_arguments)] -fn __action865< +fn __action881< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43455,12 +44891,12 @@ fn __action865< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action618( + __action629( __temp0, __0, __1, @@ -43468,7 +44904,7 @@ fn __action865< } #[allow(clippy::too_many_arguments)] -fn __action866< +fn __action882< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43478,12 +44914,12 @@ fn __action866< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action488( + __action499( __temp0, __0, __1, @@ -43493,7 +44929,7 @@ fn __action866< } #[allow(clippy::too_many_arguments)] -fn __action867< +fn __action883< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43503,12 +44939,12 @@ fn __action867< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action537( + __action548( __temp0, __0, __1, @@ -43518,7 +44954,7 @@ fn __action867< } #[allow(clippy::too_many_arguments)] -fn __action868< +fn __action884< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43526,12 +44962,12 @@ fn __action868< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action55( + __action56( __temp0, __0, __1, @@ -43539,7 +44975,7 @@ fn __action868< } #[allow(clippy::too_many_arguments)] -fn __action869< +fn __action885< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -43549,12 +44985,12 @@ fn __action869< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action56( + __action57( __temp0, __0, __1, @@ -43564,7 +45000,7 @@ fn __action869< } #[allow(clippy::too_many_arguments)] -fn __action870< +fn __action886< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -43574,12 +45010,12 @@ fn __action870< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action99( + __action100( __temp0, __0, __1, @@ -43589,7 +45025,7 @@ fn __action870< } #[allow(clippy::too_many_arguments)] -fn __action871< +fn __action887< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43598,12 +45034,12 @@ fn __action871< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action100( + __action101( __temp0, __0, __1, @@ -43612,7 +45048,7 @@ fn __action871< } #[allow(clippy::too_many_arguments)] -fn __action872< +fn __action888< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -43623,12 +45059,12 @@ fn __action872< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action101( + __action102( __temp0, __0, __1, @@ -43639,7 +45075,7 @@ fn __action872< } #[allow(clippy::too_many_arguments)] -fn __action873< +fn __action889< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -43651,12 +45087,12 @@ fn __action873< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action619( + __action630( __temp0, __0, __1, @@ -43668,7 +45104,7 @@ fn __action873< } #[allow(clippy::too_many_arguments)] -fn __action874< +fn __action890< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -43679,12 +45115,12 @@ fn __action874< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action620( + __action631( __temp0, __0, __1, @@ -43695,7 +45131,7 @@ fn __action874< } #[allow(clippy::too_many_arguments)] -fn __action875< +fn __action891< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -43705,12 +45141,12 @@ fn __action875< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action103( + __action104( __temp0, __0, __1, @@ -43720,7 +45156,7 @@ fn __action875< } #[allow(clippy::too_many_arguments)] -fn __action876< +fn __action892< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -43730,12 +45166,12 @@ fn __action876< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action467( + __action478( __temp0, __0, __1, @@ -43745,7 +45181,7 @@ fn __action876< } #[allow(clippy::too_many_arguments)] -fn __action877< +fn __action893< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -43755,12 +45191,12 @@ fn __action877< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action494( + __action505( __temp0, __0, __1, @@ -43770,7 +45206,7 @@ fn __action877< } #[allow(clippy::too_many_arguments)] -fn __action878< +fn __action894< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43783,12 +45219,12 @@ fn __action878< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action641( + __action654( __temp0, __0, __1, @@ -43801,7 +45237,7 @@ fn __action878< } #[allow(clippy::too_many_arguments)] -fn __action879< +fn __action895< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -43813,12 +45249,12 @@ fn __action879< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action642( + __action655( __temp0, __0, __1, @@ -43830,7 +45266,7 @@ fn __action879< } #[allow(clippy::too_many_arguments)] -fn __action880< +fn __action896< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43838,12 +45274,12 @@ fn __action880< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action199( + __action206( __temp0, __0, __1, @@ -43851,7 +45287,7 @@ fn __action880< } #[allow(clippy::too_many_arguments)] -fn __action881< +fn __action897< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -43860,12 +45296,12 @@ fn __action881< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action211( + __action218( __temp0, __0, __1, @@ -43874,7 +45310,7 @@ fn __action881< } #[allow(clippy::too_many_arguments)] -fn __action882< +fn __action898< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -43883,12 +45319,12 @@ fn __action882< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action104( + __action105( __temp0, __0, __1, @@ -43897,7 +45333,7 @@ fn __action882< } #[allow(clippy::too_many_arguments)] -fn __action883< +fn __action899< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -43906,12 +45342,12 @@ fn __action883< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action162( + __action165( __temp0, __0, __1, @@ -43920,7 +45356,7 @@ fn __action883< } #[allow(clippy::too_many_arguments)] -fn __action884< +fn __action900< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43928,12 +45364,12 @@ fn __action884< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action160( + __action163( __temp0, __0, __1, @@ -43941,7 +45377,7 @@ fn __action884< } #[allow(clippy::too_many_arguments)] -fn __action885< +fn __action901< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43952,12 +45388,12 @@ fn __action885< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action198( + __action205( __temp0, __0, __1, @@ -43968,7 +45404,7 @@ fn __action885< } #[allow(clippy::too_many_arguments)] -fn __action886< +fn __action902< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, TextSize, TextSize), @@ -43976,12 +45412,12 @@ fn __action886< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action194( + __action201( __temp0, __0, __1, @@ -43989,7 +45425,7 @@ fn __action886< } #[allow(clippy::too_many_arguments)] -fn __action887< +fn __action903< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -43998,12 +45434,12 @@ fn __action887< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action195( + __action202( __temp0, __0, __1, @@ -44012,7 +45448,7 @@ fn __action887< } #[allow(clippy::too_many_arguments)] -fn __action888< +fn __action904< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44021,12 +45457,12 @@ fn __action888< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action623( + __action634( __temp0, __0, __1, @@ -44035,7 +45471,7 @@ fn __action888< } #[allow(clippy::too_many_arguments)] -fn __action889< +fn __action905< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -44043,12 +45479,12 @@ fn __action889< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action624( + __action635( __temp0, __0, __1, @@ -44056,7 +45492,7 @@ fn __action889< } #[allow(clippy::too_many_arguments)] -fn __action890< +fn __action906< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -44066,12 +45502,12 @@ fn __action890< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action480( + __action491( __temp0, __0, __1, @@ -44081,7 +45517,7 @@ fn __action890< } #[allow(clippy::too_many_arguments)] -fn __action891< +fn __action907< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -44091,12 +45527,12 @@ fn __action891< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action521( + __action532( __temp0, __0, __1, @@ -44106,7 +45542,7 @@ fn __action891< } #[allow(clippy::too_many_arguments)] -fn __action892< +fn __action908< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44118,12 +45554,12 @@ fn __action892< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action359( + __action370( __temp0, __0, __1, @@ -44135,7 +45571,7 @@ fn __action892< } #[allow(clippy::too_many_arguments)] -fn __action893< +fn __action909< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44147,12 +45583,12 @@ fn __action893< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action389( + __action400( __temp0, __0, __1, @@ -44164,7 +45600,7 @@ fn __action893< } #[allow(clippy::too_many_arguments)] -fn __action894< +fn __action910< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -44173,7 +45609,7 @@ fn __action894< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); @@ -44187,7 +45623,7 @@ fn __action894< } #[allow(clippy::too_many_arguments)] -fn __action895< +fn __action911< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -44196,7 +45632,7 @@ fn __action895< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); @@ -44210,7 +45646,7 @@ fn __action895< } #[allow(clippy::too_many_arguments)] -fn __action896< +fn __action912< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -44220,7 +45656,7 @@ fn __action896< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); @@ -44235,7 +45671,7 @@ fn __action896< } #[allow(clippy::too_many_arguments)] -fn __action897< +fn __action913< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44248,12 +45684,12 @@ fn __action897< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action144( + __action145( __temp0, __0, __1, @@ -44266,7 +45702,7 @@ fn __action897< } #[allow(clippy::too_many_arguments)] -fn __action898< +fn __action914< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44279,12 +45715,12 @@ fn __action898< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action145( + __action146( __temp0, __0, __1, @@ -44297,7 +45733,7 @@ fn __action898< } #[allow(clippy::too_many_arguments)] -fn __action899< +fn __action915< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44307,12 +45743,12 @@ fn __action899< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action146( + __action147( __temp0, __0, __1, @@ -44322,160 +45758,168 @@ fn __action899< } #[allow(clippy::too_many_arguments)] -fn __action900< +fn __action916< >( __0: (TextSize, ast::Identifier, TextSize), - __1: (TextSize, core::option::Option, TextSize), - __2: (TextSize, TextSize, TextSize), -) -> ast::ArgWithDefault + __1: (TextSize, TextSize, TextSize), +) -> ast::Expr { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action161( + __action159( __temp0, __0, __1, - __2, ) } #[allow(clippy::too_many_arguments)] -fn __action901< +fn __action917< >( - __0: (TextSize, ast::Identifier, TextSize), - __1: (TextSize, TextSize, TextSize), -) -> ast::ArgWithDefault + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Expr, TextSize), + __2: (TextSize, core::option::Option>, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ast::Expr, TextSize), + __5: (TextSize, TextSize, TextSize), +) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action159( + __action160( __temp0, __0, __1, + __2, + __3, + __4, + __5, ) } #[allow(clippy::too_many_arguments)] -fn __action902< +fn __action918< >( - __0: (TextSize, ast::Expr, TextSize), - __1: (TextSize, TextSize, TextSize), -) -> ast::Pattern + __0: (TextSize, ast::Identifier, TextSize), + __1: (TextSize, core::option::Option, TextSize), + __2: (TextSize, TextSize, TextSize), +) -> ast::TypeParam { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action119( + __action169( __temp0, __0, __1, + __2, ) } #[allow(clippy::too_many_arguments)] -fn __action903< +fn __action919< >( __0: (TextSize, token::Tok, TextSize), - __1: (TextSize, ast::Expr, TextSize), - __2: (TextSize, token::Tok, TextSize), - __3: (TextSize, ast::Suite, TextSize), - __4: (TextSize, core::option::Option, TextSize), -) -> ast::Stmt + __1: (TextSize, ast::Identifier, TextSize), + __2: (TextSize, TextSize, TextSize), +) -> ast::TypeParam { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action142( + __action170( __temp0, __0, __1, __2, - __3, - __4, ) } #[allow(clippy::too_many_arguments)] -fn __action904< +fn __action920< >( - __0: (TextSize, ast::Expr, TextSize), - __1: (TextSize, TextSize, TextSize), -) -> ast::WithItem + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), + __2: (TextSize, TextSize, TextSize), +) -> ast::TypeParam { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action284( + __action171( __temp0, __0, __1, + __2, ) } #[allow(clippy::too_many_arguments)] -fn __action905< +fn __action921< >( - __0: (TextSize, ast::Expr, TextSize), - __1: (TextSize, token::Tok, TextSize), - __2: (TextSize, ast::Expr, TextSize), - __3: (TextSize, TextSize, TextSize), -) -> ast::WithItem + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, Vec, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, TextSize, TextSize), +) -> Vec { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action285( + __action636( __temp0, __0, __1, __2, __3, + __4, ) } #[allow(clippy::too_many_arguments)] -fn __action906< +fn __action922< >( - __0: (TextSize, ast::Expr, TextSize), - __1: (TextSize, token::Tok, TextSize), - __2: (TextSize, ast::Expr, TextSize), + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, Vec, TextSize), + __2: (TextSize, token::Tok, TextSize), __3: (TextSize, TextSize, TextSize), -) -> ast::WithItem +) -> Vec { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action286( + __action637( __temp0, __0, __1, @@ -44485,53 +45929,216 @@ fn __action906< } #[allow(clippy::too_many_arguments)] -fn __action907< +fn __action923< >( - __0: (TextSize, ast::Expr, TextSize), - __1: (TextSize, TextSize, TextSize), -) -> ast::WithItem + __0: (TextSize, ast::Identifier, TextSize), + __1: (TextSize, core::option::Option, TextSize), + __2: (TextSize, TextSize, TextSize), +) -> ast::ArgWithDefault { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action279( + __action164( __temp0, __0, __1, + __2, ) } #[allow(clippy::too_many_arguments)] -fn __action908< +fn __action924< >( - __0: (TextSize, ast::Expr, TextSize), - __1: (TextSize, token::Tok, TextSize), - __2: (TextSize, ast::Expr, TextSize), - __3: (TextSize, TextSize, TextSize), -) -> ast::WithItem -{ + __0: (TextSize, ast::Identifier, TextSize), + __1: (TextSize, TextSize, TextSize), +) -> ast::ArgWithDefault +{ let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action162( + __temp0, + __0, + __1, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action925< +>( + __0: (TextSize, ast::Expr, TextSize), + __1: (TextSize, TextSize, TextSize), +) -> ast::Pattern +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action120( + __temp0, + __0, + __1, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action926< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Expr, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::Suite, TextSize), + __4: (TextSize, core::option::Option, TextSize), +) -> ast::Stmt +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action280( + __action143( __temp0, __0, __1, __2, __3, + __4, ) } #[allow(clippy::too_many_arguments)] -fn __action909< +fn __action927< +>( + __0: (TextSize, ast::Expr, TextSize), + __1: (TextSize, TextSize, TextSize), +) -> ast::WithItem +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action295( + __temp0, + __0, + __1, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action928< +>( + __0: (TextSize, ast::Expr, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Expr, TextSize), + __3: (TextSize, TextSize, TextSize), +) -> ast::WithItem +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action296( + __temp0, + __0, + __1, + __2, + __3, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action929< +>( + __0: (TextSize, ast::Expr, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Expr, TextSize), + __3: (TextSize, TextSize, TextSize), +) -> ast::WithItem +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action297( + __temp0, + __0, + __1, + __2, + __3, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action930< +>( + __0: (TextSize, ast::Expr, TextSize), + __1: (TextSize, TextSize, TextSize), +) -> ast::WithItem +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action290( + __temp0, + __0, + __1, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action931< +>( + __0: (TextSize, ast::Expr, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Expr, TextSize), + __3: (TextSize, TextSize, TextSize), +) -> ast::WithItem +{ + let __start0 = __0.0; + let __end0 = __0.0; + let __temp0 = __action384( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action291( + __temp0, + __0, + __1, + __2, + __3, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action932< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, TextSize, TextSize), @@ -44539,12 +46146,12 @@ fn __action909< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action156( + __action157( __temp0, __0, __1, @@ -44552,7 +46159,7 @@ fn __action909< } #[allow(clippy::too_many_arguments)] -fn __action910< +fn __action933< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44563,12 +46170,12 @@ fn __action910< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action643( + __action656( __temp0, __0, __1, @@ -44579,7 +46186,7 @@ fn __action910< } #[allow(clippy::too_many_arguments)] -fn __action911< +fn __action934< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -44589,12 +46196,12 @@ fn __action911< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action644( + __action657( __temp0, __0, __1, @@ -44604,7 +46211,7 @@ fn __action911< } #[allow(clippy::too_many_arguments)] -fn __action912< +fn __action935< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44614,12 +46221,12 @@ fn __action912< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action410( + __action421( __temp0, __0, __1, @@ -44629,7 +46236,7 @@ fn __action912< } #[allow(clippy::too_many_arguments)] -fn __action913< +fn __action936< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44639,12 +46246,12 @@ fn __action913< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action486( + __action497( __temp0, __0, __1, @@ -44654,7 +46261,7 @@ fn __action913< } #[allow(clippy::too_many_arguments)] -fn __action914< +fn __action937< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -44663,12 +46270,12 @@ fn __action914< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action166( + __action173( __temp0, __0, __1, @@ -44677,7 +46284,7 @@ fn __action914< } #[allow(clippy::too_many_arguments)] -fn __action915< +fn __action938< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44687,12 +46294,12 @@ fn __action915< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action373( + let __temp0 = __action384( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action167( + __action174( __temp0, __0, __1, @@ -44702,7 +46309,7 @@ fn __action915< } #[allow(clippy::too_many_arguments)] -fn __action916< +fn __action939< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44713,21 +46320,21 @@ fn __action916< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action849( + let __temp0 = __action865( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action398( + Ok(__action409( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action917< +fn __action940< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44737,20 +46344,20 @@ fn __action917< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action850( + let __temp0 = __action866( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action398( + Ok(__action409( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action918< +fn __action941< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44762,7 +46369,7 @@ fn __action918< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action851( + let __temp0 = __action867( __1, __2, __3, @@ -44770,14 +46377,14 @@ fn __action918< __5, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action398( + Ok(__action409( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action919< +fn __action942< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44788,21 +46395,21 @@ fn __action919< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action852( + let __temp0 = __action868( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action398( + Ok(__action409( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action920< +fn __action943< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44811,19 +46418,19 @@ fn __action920< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action853( + let __temp0 = __action869( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action398( + Ok(__action409( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action921< +fn __action944< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44831,18 +46438,18 @@ fn __action921< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action854( + let __temp0 = __action870( __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action398( + Ok(__action409( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action922< +fn __action945< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44852,20 +46459,20 @@ fn __action922< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action855( + let __temp0 = __action871( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action398( + Ok(__action409( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action923< +fn __action946< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44874,19 +46481,19 @@ fn __action923< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action856( + let __temp0 = __action872( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action398( + Ok(__action409( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action924< +fn __action947< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -44898,14 +46505,14 @@ fn __action924< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action849( + let __temp0 = __action865( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action853( __temp0, __4, __5, @@ -44913,7 +46520,7 @@ fn __action924< } #[allow(clippy::too_many_arguments)] -fn __action925< +fn __action948< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -44924,13 +46531,13 @@ fn __action925< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action850( + let __temp0 = __action866( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action853( __temp0, __3, __4, @@ -44938,7 +46545,7 @@ fn __action925< } #[allow(clippy::too_many_arguments)] -fn __action926< +fn __action949< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -44951,7 +46558,7 @@ fn __action926< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action851( + let __temp0 = __action867( __0, __1, __2, @@ -44959,7 +46566,7 @@ fn __action926< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action853( __temp0, __5, __6, @@ -44967,7 +46574,7 @@ fn __action926< } #[allow(clippy::too_many_arguments)] -fn __action927< +fn __action950< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -44979,14 +46586,14 @@ fn __action927< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action852( + let __temp0 = __action868( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action853( __temp0, __4, __5, @@ -44994,7 +46601,7 @@ fn __action927< } #[allow(clippy::too_many_arguments)] -fn __action928< +fn __action951< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45004,12 +46611,12 @@ fn __action928< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action853( + let __temp0 = __action869( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action853( __temp0, __2, __3, @@ -45017,7 +46624,7 @@ fn __action928< } #[allow(clippy::too_many_arguments)] -fn __action929< +fn __action952< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45026,11 +46633,11 @@ fn __action929< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action854( + let __temp0 = __action870( __0, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action853( __temp0, __1, __2, @@ -45038,7 +46645,7 @@ fn __action929< } #[allow(clippy::too_many_arguments)] -fn __action930< +fn __action953< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45049,13 +46656,13 @@ fn __action930< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action855( + let __temp0 = __action871( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action853( __temp0, __3, __4, @@ -45063,7 +46670,7 @@ fn __action930< } #[allow(clippy::too_many_arguments)] -fn __action931< +fn __action954< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -45073,12 +46680,12 @@ fn __action931< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action856( + let __temp0 = __action872( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action837( + Ok(__action853( __temp0, __2, __3, @@ -45086,7 +46693,7 @@ fn __action931< } #[allow(clippy::too_many_arguments)] -fn __action932< +fn __action955< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45097,21 +46704,21 @@ fn __action932< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action849( + let __temp0 = __action865( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action854( __temp0, __4, )) } #[allow(clippy::too_many_arguments)] -fn __action933< +fn __action956< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45121,20 +46728,20 @@ fn __action933< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action850( + let __temp0 = __action866( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action854( __temp0, __3, )) } #[allow(clippy::too_many_arguments)] -fn __action934< +fn __action957< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45146,7 +46753,7 @@ fn __action934< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action851( + let __temp0 = __action867( __0, __1, __2, @@ -45154,14 +46761,14 @@ fn __action934< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action854( __temp0, __5, )) } #[allow(clippy::too_many_arguments)] -fn __action935< +fn __action958< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -45172,21 +46779,21 @@ fn __action935< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action852( + let __temp0 = __action868( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action854( __temp0, __4, )) } #[allow(clippy::too_many_arguments)] -fn __action936< +fn __action959< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45195,19 +46802,19 @@ fn __action936< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action853( + let __temp0 = __action869( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action854( __temp0, __2, )) } #[allow(clippy::too_many_arguments)] -fn __action937< +fn __action960< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -45215,18 +46822,18 @@ fn __action937< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action854( + let __temp0 = __action870( __0, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action854( __temp0, __1, )) } #[allow(clippy::too_many_arguments)] -fn __action938< +fn __action961< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45236,20 +46843,20 @@ fn __action938< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action855( + let __temp0 = __action871( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action854( __temp0, __3, )) } #[allow(clippy::too_many_arguments)] -fn __action939< +fn __action962< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -45258,19 +46865,19 @@ fn __action939< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action856( + let __temp0 = __action872( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action838( + Ok(__action854( __temp0, __2, )) } #[allow(clippy::too_many_arguments)] -fn __action940< +fn __action963< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45281,7 +46888,7 @@ fn __action940< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action916( + let __temp0 = __action939( __0, __1, __2, @@ -45289,13 +46896,13 @@ fn __action940< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action396( + Ok(__action407( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action941< +fn __action964< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45305,20 +46912,20 @@ fn __action941< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action917( + let __temp0 = __action940( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action396( + Ok(__action407( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action942< +fn __action965< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45330,7 +46937,7 @@ fn __action942< { let __start0 = __0.0; let __end0 = __5.2; - let __temp0 = __action918( + let __temp0 = __action941( __0, __1, __2, @@ -45339,13 +46946,13 @@ fn __action942< __5, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action396( + Ok(__action407( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action943< +fn __action966< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45356,7 +46963,7 @@ fn __action943< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action919( + let __temp0 = __action942( __0, __1, __2, @@ -45364,13 +46971,13 @@ fn __action943< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action396( + Ok(__action407( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action944< +fn __action967< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45379,19 +46986,19 @@ fn __action944< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action920( + let __temp0 = __action943( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action396( + Ok(__action407( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action945< +fn __action968< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45399,18 +47006,18 @@ fn __action945< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action921( + let __temp0 = __action944( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action396( + Ok(__action407( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action946< +fn __action969< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45420,20 +47027,20 @@ fn __action946< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action922( + let __temp0 = __action945( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action396( + Ok(__action407( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action947< +fn __action970< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45442,19 +47049,19 @@ fn __action947< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action923( + let __temp0 = __action946( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action396( + Ok(__action407( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action948< +fn __action971< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45468,7 +47075,7 @@ fn __action948< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action940( + let __temp0 = __action963( __1, __2, __3, @@ -45476,7 +47083,7 @@ fn __action948< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action849( __0, __temp0, __6, @@ -45485,7 +47092,7 @@ fn __action948< } #[allow(clippy::too_many_arguments)] -fn __action949< +fn __action972< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45498,14 +47105,14 @@ fn __action949< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action941( + let __temp0 = __action964( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action849( __0, __temp0, __5, @@ -45514,7 +47121,7 @@ fn __action949< } #[allow(clippy::too_many_arguments)] -fn __action950< +fn __action973< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45529,7 +47136,7 @@ fn __action950< { let __start0 = __1.0; let __end0 = __6.2; - let __temp0 = __action942( + let __temp0 = __action965( __1, __2, __3, @@ -45538,7 +47145,7 @@ fn __action950< __6, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action849( __0, __temp0, __7, @@ -45547,7 +47154,7 @@ fn __action950< } #[allow(clippy::too_many_arguments)] -fn __action951< +fn __action974< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45561,7 +47168,7 @@ fn __action951< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action943( + let __temp0 = __action966( __1, __2, __3, @@ -45569,7 +47176,7 @@ fn __action951< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action849( __0, __temp0, __6, @@ -45578,7 +47185,7 @@ fn __action951< } #[allow(clippy::too_many_arguments)] -fn __action952< +fn __action975< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45590,13 +47197,13 @@ fn __action952< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action944( + let __temp0 = __action967( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action849( __0, __temp0, __4, @@ -45605,7 +47212,7 @@ fn __action952< } #[allow(clippy::too_many_arguments)] -fn __action953< +fn __action976< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45616,12 +47223,12 @@ fn __action953< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action945( + let __temp0 = __action968( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action849( __0, __temp0, __3, @@ -45630,7 +47237,7 @@ fn __action953< } #[allow(clippy::too_many_arguments)] -fn __action954< +fn __action977< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45643,14 +47250,14 @@ fn __action954< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action946( + let __temp0 = __action969( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action849( __0, __temp0, __5, @@ -45659,7 +47266,7 @@ fn __action954< } #[allow(clippy::too_many_arguments)] -fn __action955< +fn __action978< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45671,13 +47278,13 @@ fn __action955< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action947( + let __temp0 = __action970( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action833( + __action849( __0, __temp0, __4, @@ -45686,7 +47293,7 @@ fn __action955< } #[allow(clippy::too_many_arguments)] -fn __action956< +fn __action979< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45695,12 +47302,12 @@ fn __action956< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action397( + let __temp0 = __action408( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action833( + __action849( __0, __temp0, __1, @@ -45709,7 +47316,7 @@ fn __action956< } #[allow(clippy::too_many_arguments)] -fn __action957< +fn __action980< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45722,7 +47329,7 @@ fn __action957< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action940( + let __temp0 = __action963( __1, __2, __3, @@ -45730,7 +47337,7 @@ fn __action957< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action850( __0, __temp0, __6, @@ -45738,7 +47345,7 @@ fn __action957< } #[allow(clippy::too_many_arguments)] -fn __action958< +fn __action981< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45750,14 +47357,14 @@ fn __action958< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action941( + let __temp0 = __action964( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action850( __0, __temp0, __5, @@ -45765,7 +47372,7 @@ fn __action958< } #[allow(clippy::too_many_arguments)] -fn __action959< +fn __action982< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45779,7 +47386,7 @@ fn __action959< { let __start0 = __1.0; let __end0 = __6.2; - let __temp0 = __action942( + let __temp0 = __action965( __1, __2, __3, @@ -45788,7 +47395,7 @@ fn __action959< __6, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action850( __0, __temp0, __7, @@ -45796,7 +47403,7 @@ fn __action959< } #[allow(clippy::too_many_arguments)] -fn __action960< +fn __action983< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45809,7 +47416,7 @@ fn __action960< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action943( + let __temp0 = __action966( __1, __2, __3, @@ -45817,7 +47424,7 @@ fn __action960< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action850( __0, __temp0, __6, @@ -45825,7 +47432,7 @@ fn __action960< } #[allow(clippy::too_many_arguments)] -fn __action961< +fn __action984< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45836,13 +47443,13 @@ fn __action961< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action944( + let __temp0 = __action967( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action850( __0, __temp0, __4, @@ -45850,7 +47457,7 @@ fn __action961< } #[allow(clippy::too_many_arguments)] -fn __action962< +fn __action985< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45860,12 +47467,12 @@ fn __action962< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action945( + let __temp0 = __action968( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action850( __0, __temp0, __3, @@ -45873,7 +47480,7 @@ fn __action962< } #[allow(clippy::too_many_arguments)] -fn __action963< +fn __action986< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45885,14 +47492,14 @@ fn __action963< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action946( + let __temp0 = __action969( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action850( __0, __temp0, __5, @@ -45900,7 +47507,7 @@ fn __action963< } #[allow(clippy::too_many_arguments)] -fn __action964< +fn __action987< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -45911,13 +47518,13 @@ fn __action964< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action947( + let __temp0 = __action970( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action834( + __action850( __0, __temp0, __4, @@ -45925,7 +47532,7 @@ fn __action964< } #[allow(clippy::too_many_arguments)] -fn __action965< +fn __action988< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, TextSize, TextSize), @@ -45933,12 +47540,12 @@ fn __action965< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action397( + let __temp0 = __action408( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action834( + __action850( __0, __temp0, __1, @@ -45946,7 +47553,7 @@ fn __action965< } #[allow(clippy::too_many_arguments)] -fn __action966< +fn __action989< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45954,37 +47561,37 @@ fn __action966< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action444( + let __temp0 = __action455( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action403( + __action414( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action967< +fn __action990< >( __0: (TextSize, token::Tok, TextSize), ) -> Option> { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action445( + let __temp0 = __action456( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action403( + __action414( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action968< +fn __action991< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -45994,11 +47601,11 @@ fn __action968< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action444( + let __temp0 = __action455( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action857( + __action873( __0, __temp0, __2, @@ -46007,7 +47614,7 @@ fn __action968< } #[allow(clippy::too_many_arguments)] -fn __action969< +fn __action992< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46016,12 +47623,12 @@ fn __action969< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action445( + let __temp0 = __action456( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action857( + __action873( __0, __temp0, __1, @@ -46030,7 +47637,7 @@ fn __action969< } #[allow(clippy::too_many_arguments)] -fn __action970< +fn __action993< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46041,11 +47648,11 @@ fn __action970< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action444( + let __temp0 = __action455( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action858( + __action874( __0, __temp0, __2, @@ -46055,7 +47662,7 @@ fn __action970< } #[allow(clippy::too_many_arguments)] -fn __action971< +fn __action994< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46065,12 +47672,12 @@ fn __action971< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action445( + let __temp0 = __action456( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action858( + __action874( __0, __temp0, __1, @@ -46080,7 +47687,7 @@ fn __action971< } #[allow(clippy::too_many_arguments)] -fn __action972< +fn __action995< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46088,37 +47695,37 @@ fn __action972< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action444( + let __temp0 = __action455( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action859( + __action875( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action973< +fn __action996< >( __0: (TextSize, token::Tok, TextSize), ) -> Result<(Option>, Vec, Option>),__lalrpop_util::ParseError> { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action445( + let __temp0 = __action456( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action859( + __action875( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action974< +fn __action997< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46127,11 +47734,11 @@ fn __action974< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action444( + let __temp0 = __action455( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action860( + __action876( __0, __temp0, __2, @@ -46139,7 +47746,7 @@ fn __action974< } #[allow(clippy::too_many_arguments)] -fn __action975< +fn __action998< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46147,12 +47754,12 @@ fn __action975< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action445( + let __temp0 = __action456( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action860( + __action876( __0, __temp0, __1, @@ -46160,7 +47767,7 @@ fn __action975< } #[allow(clippy::too_many_arguments)] -fn __action976< +fn __action999< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46171,21 +47778,21 @@ fn __action976< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action968( + let __temp0 = __action991( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action406( + Ok(__action417( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action977< +fn __action1000< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46195,20 +47802,20 @@ fn __action977< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action969( + let __temp0 = __action992( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action406( + Ok(__action417( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action978< +fn __action1001< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46220,7 +47827,7 @@ fn __action978< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action970( + let __temp0 = __action993( __1, __2, __3, @@ -46228,14 +47835,14 @@ fn __action978< __5, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action406( + Ok(__action417( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action979< +fn __action1002< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46246,21 +47853,21 @@ fn __action979< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action971( + let __temp0 = __action994( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action406( + Ok(__action417( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action980< +fn __action1003< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46269,19 +47876,19 @@ fn __action980< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action972( + let __temp0 = __action995( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action406( + Ok(__action417( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action981< +fn __action1004< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46289,18 +47896,18 @@ fn __action981< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action973( + let __temp0 = __action996( __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action406( + Ok(__action417( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action982< +fn __action1005< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46310,20 +47917,20 @@ fn __action982< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action974( + let __temp0 = __action997( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action406( + Ok(__action417( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action983< +fn __action1006< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46332,19 +47939,19 @@ fn __action983< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action975( + let __temp0 = __action998( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action406( + Ok(__action417( __0, __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action984< +fn __action1007< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46356,14 +47963,14 @@ fn __action984< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action968( + let __temp0 = __action991( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action861( __temp0, __4, __5, @@ -46371,7 +47978,7 @@ fn __action984< } #[allow(clippy::too_many_arguments)] -fn __action985< +fn __action1008< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46382,13 +47989,13 @@ fn __action985< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action969( + let __temp0 = __action992( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action861( __temp0, __3, __4, @@ -46396,7 +48003,7 @@ fn __action985< } #[allow(clippy::too_many_arguments)] -fn __action986< +fn __action1009< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46409,7 +48016,7 @@ fn __action986< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action970( + let __temp0 = __action993( __0, __1, __2, @@ -46417,7 +48024,7 @@ fn __action986< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action861( __temp0, __5, __6, @@ -46425,7 +48032,7 @@ fn __action986< } #[allow(clippy::too_many_arguments)] -fn __action987< +fn __action1010< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46437,14 +48044,14 @@ fn __action987< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action971( + let __temp0 = __action994( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action861( __temp0, __4, __5, @@ -46452,7 +48059,7 @@ fn __action987< } #[allow(clippy::too_many_arguments)] -fn __action988< +fn __action1011< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46462,12 +48069,12 @@ fn __action988< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action972( + let __temp0 = __action995( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action861( __temp0, __2, __3, @@ -46475,7 +48082,7 @@ fn __action988< } #[allow(clippy::too_many_arguments)] -fn __action989< +fn __action1012< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46484,11 +48091,11 @@ fn __action989< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action973( + let __temp0 = __action996( __0, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action861( __temp0, __1, __2, @@ -46496,7 +48103,7 @@ fn __action989< } #[allow(clippy::too_many_arguments)] -fn __action990< +fn __action1013< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46507,13 +48114,13 @@ fn __action990< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action974( + let __temp0 = __action997( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action861( __temp0, __3, __4, @@ -46521,7 +48128,7 @@ fn __action990< } #[allow(clippy::too_many_arguments)] -fn __action991< +fn __action1014< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46531,12 +48138,12 @@ fn __action991< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action975( + let __temp0 = __action998( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action845( + Ok(__action861( __temp0, __2, __3, @@ -46544,7 +48151,7 @@ fn __action991< } #[allow(clippy::too_many_arguments)] -fn __action992< +fn __action1015< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46555,21 +48162,21 @@ fn __action992< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action968( + let __temp0 = __action991( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action862( __temp0, __4, )) } #[allow(clippy::too_many_arguments)] -fn __action993< +fn __action1016< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46579,20 +48186,20 @@ fn __action993< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action969( + let __temp0 = __action992( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action862( __temp0, __3, )) } #[allow(clippy::too_many_arguments)] -fn __action994< +fn __action1017< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46604,7 +48211,7 @@ fn __action994< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action970( + let __temp0 = __action993( __0, __1, __2, @@ -46612,14 +48219,14 @@ fn __action994< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action862( __temp0, __5, )) } #[allow(clippy::too_many_arguments)] -fn __action995< +fn __action1018< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46630,21 +48237,21 @@ fn __action995< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action971( + let __temp0 = __action994( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action862( __temp0, __4, )) } #[allow(clippy::too_many_arguments)] -fn __action996< +fn __action1019< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46653,19 +48260,19 @@ fn __action996< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action972( + let __temp0 = __action995( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action862( __temp0, __2, )) } #[allow(clippy::too_many_arguments)] -fn __action997< +fn __action1020< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, TextSize, TextSize), @@ -46673,18 +48280,18 @@ fn __action997< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action973( + let __temp0 = __action996( __0, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action862( __temp0, __1, )) } #[allow(clippy::too_many_arguments)] -fn __action998< +fn __action1021< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -46694,20 +48301,20 @@ fn __action998< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action974( + let __temp0 = __action997( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action862( __temp0, __3, )) } #[allow(clippy::too_many_arguments)] -fn __action999< +fn __action1022< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -46716,19 +48323,19 @@ fn __action999< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action975( + let __temp0 = __action998( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action846( + Ok(__action862( __temp0, __2, )) } #[allow(clippy::too_many_arguments)] -fn __action1000< +fn __action1023< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46739,7 +48346,7 @@ fn __action1000< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action976( + let __temp0 = __action999( __0, __1, __2, @@ -46747,13 +48354,13 @@ fn __action1000< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action404( + Ok(__action415( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action1001< +fn __action1024< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46763,20 +48370,20 @@ fn __action1001< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action977( + let __temp0 = __action1000( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action404( + Ok(__action415( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action1002< +fn __action1025< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46788,7 +48395,7 @@ fn __action1002< { let __start0 = __0.0; let __end0 = __5.2; - let __temp0 = __action978( + let __temp0 = __action1001( __0, __1, __2, @@ -46797,13 +48404,13 @@ fn __action1002< __5, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action404( + Ok(__action415( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action1003< +fn __action1026< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46814,7 +48421,7 @@ fn __action1003< { let __start0 = __0.0; let __end0 = __4.2; - let __temp0 = __action979( + let __temp0 = __action1002( __0, __1, __2, @@ -46822,13 +48429,13 @@ fn __action1003< __4, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action404( + Ok(__action415( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action1004< +fn __action1027< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46837,19 +48444,19 @@ fn __action1004< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action980( + let __temp0 = __action1003( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action404( + Ok(__action415( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action1005< +fn __action1028< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46857,18 +48464,18 @@ fn __action1005< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action981( + let __temp0 = __action1004( __0, __1, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action404( + Ok(__action415( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action1006< +fn __action1029< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46878,20 +48485,20 @@ fn __action1006< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action982( + let __temp0 = __action1005( __0, __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action404( + Ok(__action415( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action1007< +fn __action1030< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46900,19 +48507,19 @@ fn __action1007< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action983( + let __temp0 = __action1006( __0, __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - Ok(__action404( + Ok(__action415( __temp0, )) } #[allow(clippy::too_many_arguments)] -fn __action1008< +fn __action1031< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46926,7 +48533,7 @@ fn __action1008< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action1000( + let __temp0 = __action1023( __1, __2, __3, @@ -46934,7 +48541,7 @@ fn __action1008< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action857( __0, __temp0, __6, @@ -46943,7 +48550,7 @@ fn __action1008< } #[allow(clippy::too_many_arguments)] -fn __action1009< +fn __action1032< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46956,14 +48563,14 @@ fn __action1009< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action1001( + let __temp0 = __action1024( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action857( __0, __temp0, __5, @@ -46972,7 +48579,7 @@ fn __action1009< } #[allow(clippy::too_many_arguments)] -fn __action1010< +fn __action1033< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -46987,7 +48594,7 @@ fn __action1010< { let __start0 = __1.0; let __end0 = __6.2; - let __temp0 = __action1002( + let __temp0 = __action1025( __1, __2, __3, @@ -46996,7 +48603,7 @@ fn __action1010< __6, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action857( __0, __temp0, __7, @@ -47005,7 +48612,7 @@ fn __action1010< } #[allow(clippy::too_many_arguments)] -fn __action1011< +fn __action1034< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47019,7 +48626,7 @@ fn __action1011< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action1003( + let __temp0 = __action1026( __1, __2, __3, @@ -47027,7 +48634,7 @@ fn __action1011< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action857( __0, __temp0, __6, @@ -47036,7 +48643,7 @@ fn __action1011< } #[allow(clippy::too_many_arguments)] -fn __action1012< +fn __action1035< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47048,13 +48655,13 @@ fn __action1012< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action1004( + let __temp0 = __action1027( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action857( __0, __temp0, __4, @@ -47063,7 +48670,7 @@ fn __action1012< } #[allow(clippy::too_many_arguments)] -fn __action1013< +fn __action1036< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47074,12 +48681,12 @@ fn __action1013< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1005( + let __temp0 = __action1028( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action857( __0, __temp0, __3, @@ -47088,7 +48695,7 @@ fn __action1013< } #[allow(clippy::too_many_arguments)] -fn __action1014< +fn __action1037< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47101,14 +48708,14 @@ fn __action1014< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action1006( + let __temp0 = __action1029( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action857( __0, __temp0, __5, @@ -47117,7 +48724,7 @@ fn __action1014< } #[allow(clippy::too_many_arguments)] -fn __action1015< +fn __action1038< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47129,13 +48736,13 @@ fn __action1015< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action1007( + let __temp0 = __action1030( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action841( + __action857( __0, __temp0, __4, @@ -47144,7 +48751,7 @@ fn __action1015< } #[allow(clippy::too_many_arguments)] -fn __action1016< +fn __action1039< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47153,12 +48760,12 @@ fn __action1016< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action405( + let __temp0 = __action416( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action841( + __action857( __0, __temp0, __1, @@ -47167,7 +48774,7 @@ fn __action1016< } #[allow(clippy::too_many_arguments)] -fn __action1017< +fn __action1040< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47180,7 +48787,7 @@ fn __action1017< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action1000( + let __temp0 = __action1023( __1, __2, __3, @@ -47188,7 +48795,7 @@ fn __action1017< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action858( __0, __temp0, __6, @@ -47196,7 +48803,7 @@ fn __action1017< } #[allow(clippy::too_many_arguments)] -fn __action1018< +fn __action1041< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47208,14 +48815,14 @@ fn __action1018< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action1001( + let __temp0 = __action1024( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action858( __0, __temp0, __5, @@ -47223,7 +48830,7 @@ fn __action1018< } #[allow(clippy::too_many_arguments)] -fn __action1019< +fn __action1042< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47237,7 +48844,7 @@ fn __action1019< { let __start0 = __1.0; let __end0 = __6.2; - let __temp0 = __action1002( + let __temp0 = __action1025( __1, __2, __3, @@ -47246,7 +48853,7 @@ fn __action1019< __6, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action858( __0, __temp0, __7, @@ -47254,7 +48861,7 @@ fn __action1019< } #[allow(clippy::too_many_arguments)] -fn __action1020< +fn __action1043< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47267,7 +48874,7 @@ fn __action1020< { let __start0 = __1.0; let __end0 = __5.2; - let __temp0 = __action1003( + let __temp0 = __action1026( __1, __2, __3, @@ -47275,7 +48882,7 @@ fn __action1020< __5, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action858( __0, __temp0, __6, @@ -47283,7 +48890,7 @@ fn __action1020< } #[allow(clippy::too_many_arguments)] -fn __action1021< +fn __action1044< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47294,13 +48901,13 @@ fn __action1021< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action1004( + let __temp0 = __action1027( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action858( __0, __temp0, __4, @@ -47308,7 +48915,7 @@ fn __action1021< } #[allow(clippy::too_many_arguments)] -fn __action1022< +fn __action1045< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47318,12 +48925,12 @@ fn __action1022< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1005( + let __temp0 = __action1028( __1, __2, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action858( __0, __temp0, __3, @@ -47331,7 +48938,7 @@ fn __action1022< } #[allow(clippy::too_many_arguments)] -fn __action1023< +fn __action1046< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47343,14 +48950,14 @@ fn __action1023< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action1006( + let __temp0 = __action1029( __1, __2, __3, __4, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action858( __0, __temp0, __5, @@ -47358,7 +48965,7 @@ fn __action1023< } #[allow(clippy::too_many_arguments)] -fn __action1024< +fn __action1047< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47369,13 +48976,13 @@ fn __action1024< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action1007( + let __temp0 = __action1030( __1, __2, __3, )?; let __temp0 = (__start0, __temp0, __end0); - __action842( + __action858( __0, __temp0, __4, @@ -47383,7 +48990,7 @@ fn __action1024< } #[allow(clippy::too_many_arguments)] -fn __action1025< +fn __action1048< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, TextSize, TextSize), @@ -47391,12 +48998,12 @@ fn __action1025< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action405( + let __temp0 = __action416( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action842( + __action858( __0, __temp0, __1, @@ -47404,7 +49011,7 @@ fn __action1025< } #[allow(clippy::too_many_arguments)] -fn __action1026< +fn __action1049< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -47412,18 +49019,18 @@ fn __action1026< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action334( + let __temp0 = __action345( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action332( + __action343( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1027< +fn __action1050< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -47434,12 +49041,12 @@ fn __action1027< { let __start0 = __2.0; let __end0 = __3.2; - let __temp0 = __action1026( + let __temp0 = __action1049( __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action692( + __action705( __0, __1, __temp0, @@ -47448,7 +49055,7 @@ fn __action1027< } #[allow(clippy::too_many_arguments)] -fn __action1028< +fn __action1051< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -47457,12 +49064,12 @@ fn __action1028< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action333( + let __temp0 = __action344( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action692( + __action705( __0, __1, __temp0, @@ -47471,7 +49078,7 @@ fn __action1028< } #[allow(clippy::too_many_arguments)] -fn __action1029< +fn __action1052< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -47479,18 +49086,18 @@ fn __action1029< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action527( + let __temp0 = __action538( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action533( + __action544( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1030< +fn __action1053< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47499,19 +49106,19 @@ fn __action1030< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action527( + let __temp0 = __action538( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action534( + __action545( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1031< +fn __action1054< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47523,12 +49130,12 @@ fn __action1031< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action525( + let __temp0 = __action536( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action700( + __action713( __0, __1, __2, @@ -47540,7 +49147,7 @@ fn __action1031< } #[allow(clippy::too_many_arguments)] -fn __action1032< +fn __action1055< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47553,11 +49160,11 @@ fn __action1032< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action526( + let __temp0 = __action537( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action700( + __action713( __0, __1, __2, @@ -47569,7 +49176,7 @@ fn __action1032< } #[allow(clippy::too_many_arguments)] -fn __action1033< +fn __action1056< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47580,12 +49187,12 @@ fn __action1033< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action525( + let __temp0 = __action536( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action701( + __action714( __0, __1, __2, @@ -47596,7 +49203,7 @@ fn __action1033< } #[allow(clippy::too_many_arguments)] -fn __action1034< +fn __action1057< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47608,11 +49215,11 @@ fn __action1034< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action526( + let __temp0 = __action537( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action701( + __action714( __0, __1, __2, @@ -47623,7 +49230,7 @@ fn __action1034< } #[allow(clippy::too_many_arguments)] -fn __action1035< +fn __action1058< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47635,12 +49242,12 @@ fn __action1035< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action525( + let __temp0 = __action536( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action718( + __action731( __0, __1, __2, @@ -47652,7 +49259,7 @@ fn __action1035< } #[allow(clippy::too_many_arguments)] -fn __action1036< +fn __action1059< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47665,11 +49272,11 @@ fn __action1036< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action526( + let __temp0 = __action537( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action718( + __action731( __0, __1, __2, @@ -47681,7 +49288,7 @@ fn __action1036< } #[allow(clippy::too_many_arguments)] -fn __action1037< +fn __action1060< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47692,12 +49299,12 @@ fn __action1037< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action525( + let __temp0 = __action536( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action719( + __action732( __0, __1, __2, @@ -47708,7 +49315,7 @@ fn __action1037< } #[allow(clippy::too_many_arguments)] -fn __action1038< +fn __action1061< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47720,11 +49327,11 @@ fn __action1038< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action526( + let __temp0 = __action537( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action719( + __action732( __0, __1, __2, @@ -47735,7 +49342,7 @@ fn __action1038< } #[allow(clippy::too_many_arguments)] -fn __action1039< +fn __action1062< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -47743,18 +49350,18 @@ fn __action1039< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action283( + let __temp0 = __action294( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action277( + __action288( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1040< +fn __action1063< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -47763,19 +49370,19 @@ fn __action1040< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action283( + let __temp0 = __action294( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action278( + __action289( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1041< +fn __action1064< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47786,12 +49393,12 @@ fn __action1041< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action281( + let __temp0 = __action292( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action627( + __action640( __0, __1, __2, @@ -47802,7 +49409,7 @@ fn __action1041< } #[allow(clippy::too_many_arguments)] -fn __action1042< +fn __action1065< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47814,11 +49421,11 @@ fn __action1042< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action282( + let __temp0 = __action293( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action627( + __action640( __0, __1, __2, @@ -47829,7 +49436,7 @@ fn __action1042< } #[allow(clippy::too_many_arguments)] -fn __action1043< +fn __action1066< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47839,12 +49446,12 @@ fn __action1043< { let __start0 = __2.2; let __end0 = __3.0; - let __temp0 = __action281( + let __temp0 = __action292( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action628( + __action641( __0, __1, __2, @@ -47854,7 +49461,7 @@ fn __action1043< } #[allow(clippy::too_many_arguments)] -fn __action1044< +fn __action1067< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -47865,11 +49472,11 @@ fn __action1044< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action282( + let __temp0 = __action293( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action628( + __action641( __0, __1, __2, @@ -47879,7 +49486,7 @@ fn __action1044< } #[allow(clippy::too_many_arguments)] -fn __action1045< +fn __action1068< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -47887,142 +49494,150 @@ fn __action1045< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action272( + let __temp0 = __action281( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action270( + __action279( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1046< +fn __action1069< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), - __4: (TextSize, ast::Arguments, TextSize), - __5: (TextSize, token::Tok, TextSize), - __6: (TextSize, ast::Expr, TextSize), - __7: (TextSize, token::Tok, TextSize), - __8: (TextSize, ast::Suite, TextSize), + __4: (TextSize, core::option::Option>, TextSize), + __5: (TextSize, ast::Arguments, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Expr, TextSize), + __8: (TextSize, token::Tok, TextSize), + __9: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { - let __start0 = __5.0; - let __end0 = __6.2; - let __temp0 = __action1045( - __5, + let __start0 = __6.0; + let __end0 = __7.2; + let __temp0 = __action1068( __6, + __7, ); let __temp0 = (__start0, __temp0, __end0); - __action780( + __action795( __0, __1, __2, __3, __4, + __5, __temp0, - __7, __8, + __9, ) } #[allow(clippy::too_many_arguments)] -fn __action1047< +fn __action1070< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), - __4: (TextSize, ast::Arguments, TextSize), - __5: (TextSize, token::Tok, TextSize), - __6: (TextSize, ast::Suite, TextSize), + __4: (TextSize, core::option::Option>, TextSize), + __5: (TextSize, ast::Arguments, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { - let __start0 = __4.2; - let __end0 = __5.0; - let __temp0 = __action271( + let __start0 = __5.2; + let __end0 = __6.0; + let __temp0 = __action280( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action780( + __action795( __0, __1, __2, __3, __4, - __temp0, __5, + __temp0, __6, + __7, ) } #[allow(clippy::too_many_arguments)] -fn __action1048< +fn __action1071< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, ast::Arguments, TextSize), - __4: (TextSize, token::Tok, TextSize), - __5: (TextSize, ast::Expr, TextSize), - __6: (TextSize, token::Tok, TextSize), - __7: (TextSize, ast::Suite, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Expr, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { - let __start0 = __4.0; - let __end0 = __5.2; - let __temp0 = __action1045( - __4, + let __start0 = __5.0; + let __end0 = __6.2; + let __temp0 = __action1068( __5, + __6, ); let __temp0 = (__start0, __temp0, __end0); - __action781( + __action796( __0, __1, __2, __3, + __4, __temp0, - __6, __7, + __8, ) } #[allow(clippy::too_many_arguments)] -fn __action1049< +fn __action1072< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, ast::Arguments, TextSize), - __4: (TextSize, token::Tok, TextSize), - __5: (TextSize, ast::Suite, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { - let __start0 = __3.2; - let __end0 = __4.0; - let __temp0 = __action271( + let __start0 = __4.2; + let __end0 = __5.0; + let __temp0 = __action280( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action781( + __action796( __0, __1, __2, __3, - __temp0, __4, + __temp0, __5, + __6, ) } #[allow(clippy::too_many_arguments)] -fn __action1050< +fn __action1073< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -48030,18 +49645,18 @@ fn __action1050< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action339( + let __temp0 = __action350( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action337( + __action348( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1051< +fn __action1074< >( __0: (TextSize, alloc::vec::Vec<(token::Tok, ast::Identifier)>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48050,19 +49665,19 @@ fn __action1051< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action339( + let __temp0 = __action350( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action338( + __action349( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1052< +fn __action1075< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48070,18 +49685,18 @@ fn __action1052< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action262( + let __temp0 = __action271( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action260( + __action269( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1053< +fn __action1076< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48091,12 +49706,12 @@ fn __action1053< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1052( + let __temp0 = __action1075( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action762( + __action777( __0, __temp0, __3, @@ -48104,7 +49719,7 @@ fn __action1053< } #[allow(clippy::too_many_arguments)] -fn __action1054< +fn __action1077< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -48112,12 +49727,12 @@ fn __action1054< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action261( + let __temp0 = __action270( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action762( + __action777( __0, __temp0, __1, @@ -48125,7 +49740,51 @@ fn __action1054< } #[allow(clippy::too_many_arguments)] -fn __action1055< +fn __action1078< +>( + __0: (TextSize, ast::Identifier, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Expr, TextSize), + __3: (TextSize, TextSize, TextSize), +) -> ast::TypeParam +{ + let __start0 = __1.0; + let __end0 = __2.2; + let __temp0 = __action1075( + __1, + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action918( + __0, + __temp0, + __3, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1079< +>( + __0: (TextSize, ast::Identifier, TextSize), + __1: (TextSize, TextSize, TextSize), +) -> ast::TypeParam +{ + let __start0 = __0.2; + let __end0 = __1.0; + let __temp0 = __action270( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action918( + __0, + __temp0, + __1, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1080< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48135,12 +49794,12 @@ fn __action1055< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1052( + let __temp0 = __action1075( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action900( + __action923( __0, __temp0, __3, @@ -48148,7 +49807,7 @@ fn __action1055< } #[allow(clippy::too_many_arguments)] -fn __action1056< +fn __action1081< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -48156,12 +49815,12 @@ fn __action1056< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action261( + let __temp0 = __action270( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action900( + __action923( __0, __temp0, __1, @@ -48169,7 +49828,7 @@ fn __action1056< } #[allow(clippy::too_many_arguments)] -fn __action1057< +fn __action1082< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48177,18 +49836,18 @@ fn __action1057< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action259( + let __temp0 = __action268( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action257( + __action266( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1058< +fn __action1083< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48198,12 +49857,12 @@ fn __action1058< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1057( + let __temp0 = __action1082( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action883( + __action899( __0, __temp0, __3, @@ -48211,7 +49870,7 @@ fn __action1058< } #[allow(clippy::too_many_arguments)] -fn __action1059< +fn __action1084< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -48219,12 +49878,12 @@ fn __action1059< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action258( + let __temp0 = __action267( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action883( + __action899( __0, __temp0, __1, @@ -48232,24 +49891,24 @@ fn __action1059< } #[allow(clippy::too_many_arguments)] -fn __action1060< +fn __action1085< >( __0: (TextSize, token::Tok, TextSize), ) -> alloc::vec::Vec { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action371( + let __temp0 = __action382( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action374( + __action385( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1061< +fn __action1086< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48257,18 +49916,18 @@ fn __action1061< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action371( + let __temp0 = __action382( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action375( + __action386( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1062< +fn __action1087< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48277,12 +49936,12 @@ fn __action1062< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action369( + let __temp0 = __action380( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action896( + __action912( __0, __1, __temp0, @@ -48291,7 +49950,7 @@ fn __action1062< } #[allow(clippy::too_many_arguments)] -fn __action1063< +fn __action1088< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48301,11 +49960,11 @@ fn __action1063< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action370( + let __temp0 = __action381( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action896( + __action912( __0, __1, __temp0, @@ -48314,7 +49973,7 @@ fn __action1063< } #[allow(clippy::too_many_arguments)] -fn __action1064< +fn __action1089< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -48322,18 +49981,18 @@ fn __action1064< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action382( + let __temp0 = __action393( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action380( + __action391( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1065< +fn __action1090< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48343,12 +50002,12 @@ fn __action1065< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1064( + let __temp0 = __action1089( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action792( + __action808( __0, __temp0, __3, @@ -48356,7 +50015,7 @@ fn __action1065< } #[allow(clippy::too_many_arguments)] -fn __action1066< +fn __action1091< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -48364,12 +50023,12 @@ fn __action1066< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action381( + let __temp0 = __action392( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action792( + __action808( __0, __temp0, __1, @@ -48377,7 +50036,7 @@ fn __action1066< } #[allow(clippy::too_many_arguments)] -fn __action1067< +fn __action1092< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48387,12 +50046,12 @@ fn __action1067< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1064( + let __temp0 = __action1089( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action793( + __action809( __0, __temp0, __3, @@ -48400,7 +50059,7 @@ fn __action1067< } #[allow(clippy::too_many_arguments)] -fn __action1068< +fn __action1093< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, TextSize, TextSize), @@ -48408,12 +50067,12 @@ fn __action1068< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action381( + let __temp0 = __action392( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action793( + __action809( __0, __temp0, __1, @@ -48421,7 +50080,7 @@ fn __action1068< } #[allow(clippy::too_many_arguments)] -fn __action1069< +fn __action1094< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48430,19 +50089,19 @@ fn __action1069< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action304( + let __temp0 = __action315( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action302( + __action313( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1070< +fn __action1095< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48458,13 +50117,13 @@ fn __action1070< { let __start0 = __7.0; let __end0 = __9.2; - let __temp0 = __action1069( + let __temp0 = __action1094( __7, __8, __9, ); let __temp0 = (__start0, __temp0, __end0); - __action778( + __action793( __0, __1, __2, @@ -48477,7 +50136,7 @@ fn __action1070< } #[allow(clippy::too_many_arguments)] -fn __action1071< +fn __action1096< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48490,12 +50149,12 @@ fn __action1071< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action303( + let __temp0 = __action314( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action778( + __action793( __0, __1, __2, @@ -48508,7 +50167,7 @@ fn __action1071< } #[allow(clippy::too_many_arguments)] -fn __action1072< +fn __action1097< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48523,13 +50182,13 @@ fn __action1072< { let __start0 = __6.0; let __end0 = __8.2; - let __temp0 = __action1069( + let __temp0 = __action1094( __6, __7, __8, ); let __temp0 = (__start0, __temp0, __end0); - __action779( + __action794( __0, __1, __2, @@ -48541,7 +50200,7 @@ fn __action1072< } #[allow(clippy::too_many_arguments)] -fn __action1073< +fn __action1098< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48553,12 +50212,12 @@ fn __action1073< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action303( + let __temp0 = __action314( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action779( + __action794( __0, __1, __2, @@ -48570,7 +50229,7 @@ fn __action1073< } #[allow(clippy::too_many_arguments)] -fn __action1074< +fn __action1099< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48584,13 +50243,13 @@ fn __action1074< { let __start0 = __5.0; let __end0 = __7.2; - let __temp0 = __action1069( + let __temp0 = __action1094( __5, __6, __7, ); let __temp0 = (__start0, __temp0, __end0); - __action791( + __action807( __0, __1, __2, @@ -48601,7 +50260,7 @@ fn __action1074< } #[allow(clippy::too_many_arguments)] -fn __action1075< +fn __action1100< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48612,12 +50271,12 @@ fn __action1075< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action303( + let __temp0 = __action314( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action791( + __action807( __0, __1, __2, @@ -48628,7 +50287,7 @@ fn __action1075< } #[allow(clippy::too_many_arguments)] -fn __action1076< +fn __action1101< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48643,13 +50302,13 @@ fn __action1076< { let __start0 = __4.0; let __end0 = __6.2; - let __temp0 = __action1069( + let __temp0 = __action1094( __4, __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action897( + __action913( __0, __1, __2, @@ -48661,7 +50320,7 @@ fn __action1076< } #[allow(clippy::too_many_arguments)] -fn __action1077< +fn __action1102< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48673,12 +50332,12 @@ fn __action1077< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action303( + let __temp0 = __action314( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action897( + __action913( __0, __1, __2, @@ -48690,7 +50349,7 @@ fn __action1077< } #[allow(clippy::too_many_arguments)] -fn __action1078< +fn __action1103< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48705,13 +50364,13 @@ fn __action1078< { let __start0 = __4.0; let __end0 = __6.2; - let __temp0 = __action1069( + let __temp0 = __action1094( __4, __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action898( + __action914( __0, __1, __2, @@ -48723,7 +50382,7 @@ fn __action1078< } #[allow(clippy::too_many_arguments)] -fn __action1079< +fn __action1104< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48735,12 +50394,12 @@ fn __action1079< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action303( + let __temp0 = __action314( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action898( + __action914( __0, __1, __2, @@ -48752,7 +50411,7 @@ fn __action1079< } #[allow(clippy::too_many_arguments)] -fn __action1080< +fn __action1105< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48765,13 +50424,13 @@ fn __action1080< { let __start0 = __4.0; let __end0 = __6.2; - let __temp0 = __action1069( + let __temp0 = __action1094( __4, __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action903( + __action926( __0, __1, __2, @@ -48781,7 +50440,7 @@ fn __action1080< } #[allow(clippy::too_many_arguments)] -fn __action1081< +fn __action1106< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -48791,12 +50450,12 @@ fn __action1081< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action303( + let __temp0 = __action314( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action903( + __action926( __0, __1, __2, @@ -48806,7 +50465,7 @@ fn __action1081< } #[allow(clippy::too_many_arguments)] -fn __action1082< +fn __action1107< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48815,19 +50474,19 @@ fn __action1082< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action297( + let __temp0 = __action308( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action295( + __action306( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1083< +fn __action1108< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48839,13 +50498,13 @@ fn __action1083< { let __start0 = __3.0; let __end0 = __5.2; - let __temp0 = __action297( + let __temp0 = __action308( __3, __4, __5, ); let __temp0 = (__start0, __temp0, __end0); - __action899( + __action915( __0, __1, __2, @@ -48854,7 +50513,7 @@ fn __action1083< } #[allow(clippy::too_many_arguments)] -fn __action1084< +fn __action1109< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48871,13 +50530,13 @@ fn __action1084< { let __start0 = __7.0; let __end0 = __9.2; - let __temp0 = __action1082( + let __temp0 = __action1107( __7, __8, __9, ); let __temp0 = (__start0, __temp0, __end0); - __action1076( + __action1101( __0, __1, __2, @@ -48891,7 +50550,7 @@ fn __action1084< } #[allow(clippy::too_many_arguments)] -fn __action1085< +fn __action1110< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48905,12 +50564,12 @@ fn __action1085< { let __start0 = __6.2; let __end0 = __7.0; - let __temp0 = __action296( + let __temp0 = __action307( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1076( + __action1101( __0, __1, __2, @@ -48924,7 +50583,7 @@ fn __action1085< } #[allow(clippy::too_many_arguments)] -fn __action1086< +fn __action1111< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48938,13 +50597,13 @@ fn __action1086< { let __start0 = __4.0; let __end0 = __6.2; - let __temp0 = __action1082( + let __temp0 = __action1107( __4, __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action1077( + __action1102( __0, __1, __2, @@ -48955,7 +50614,7 @@ fn __action1086< } #[allow(clippy::too_many_arguments)] -fn __action1087< +fn __action1112< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48966,12 +50625,12 @@ fn __action1087< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action296( + let __temp0 = __action307( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1077( + __action1102( __0, __1, __2, @@ -48982,7 +50641,7 @@ fn __action1087< } #[allow(clippy::too_many_arguments)] -fn __action1088< +fn __action1113< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -48999,13 +50658,13 @@ fn __action1088< { let __start0 = __7.0; let __end0 = __9.2; - let __temp0 = __action1082( + let __temp0 = __action1107( __7, __8, __9, ); let __temp0 = (__start0, __temp0, __end0); - __action1078( + __action1103( __0, __1, __2, @@ -49019,7 +50678,7 @@ fn __action1088< } #[allow(clippy::too_many_arguments)] -fn __action1089< +fn __action1114< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49033,12 +50692,12 @@ fn __action1089< { let __start0 = __6.2; let __end0 = __7.0; - let __temp0 = __action296( + let __temp0 = __action307( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1078( + __action1103( __0, __1, __2, @@ -49052,7 +50711,7 @@ fn __action1089< } #[allow(clippy::too_many_arguments)] -fn __action1090< +fn __action1115< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49066,13 +50725,13 @@ fn __action1090< { let __start0 = __4.0; let __end0 = __6.2; - let __temp0 = __action1082( + let __temp0 = __action1107( __4, __5, __6, ); let __temp0 = (__start0, __temp0, __end0); - __action1079( + __action1104( __0, __1, __2, @@ -49083,7 +50742,7 @@ fn __action1090< } #[allow(clippy::too_many_arguments)] -fn __action1091< +fn __action1116< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49094,12 +50753,12 @@ fn __action1091< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action296( + let __temp0 = __action307( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1079( + __action1104( __0, __1, __2, @@ -49110,7 +50769,7 @@ fn __action1091< } #[allow(clippy::too_many_arguments)] -fn __action1092< +fn __action1117< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49118,18 +50777,18 @@ fn __action1092< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action354( + let __temp0 = __action365( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action352( + __action363( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1093< +fn __action1118< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49140,12 +50799,12 @@ fn __action1093< { let __start0 = __2.0; let __end0 = __3.2; - let __temp0 = __action1092( + let __temp0 = __action1117( __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action869( + __action885( __0, __1, __temp0, @@ -49154,7 +50813,7 @@ fn __action1093< } #[allow(clippy::too_many_arguments)] -fn __action1094< +fn __action1119< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49163,12 +50822,12 @@ fn __action1094< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action353( + let __temp0 = __action364( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action869( + __action885( __0, __1, __temp0, @@ -49177,7 +50836,7 @@ fn __action1094< } #[allow(clippy::too_many_arguments)] -fn __action1095< +fn __action1120< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49187,20 +50846,20 @@ fn __action1095< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action682( + let __temp0 = __action695( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action387( + __action398( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1096< +fn __action1121< >( __0: (TextSize, alloc::vec::Vec<(TextSize, ast::Expr, ast::Suite)>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49211,21 +50870,21 @@ fn __action1096< { let __start0 = __1.0; let __end0 = __4.2; - let __temp0 = __action682( + let __temp0 = __action695( __1, __2, __3, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action388( + __action399( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1097< +fn __action1122< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49238,12 +50897,12 @@ fn __action1097< { let __start0 = __3.2; let __end0 = __4.0; - let __temp0 = __action305( + let __temp0 = __action316( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1074( + __action1099( __0, __1, __2, @@ -49256,7 +50915,7 @@ fn __action1097< } #[allow(clippy::too_many_arguments)] -fn __action1098< +fn __action1123< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49270,11 +50929,11 @@ fn __action1098< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action306( + let __temp0 = __action317( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1074( + __action1099( __0, __1, __2, @@ -49287,7 +50946,7 @@ fn __action1098< } #[allow(clippy::too_many_arguments)] -fn __action1099< +fn __action1124< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49297,12 +50956,12 @@ fn __action1099< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action305( + let __temp0 = __action316( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1075( + __action1100( __0, __1, __2, @@ -49312,7 +50971,7 @@ fn __action1099< } #[allow(clippy::too_many_arguments)] -fn __action1100< +fn __action1125< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49323,11 +50982,11 @@ fn __action1100< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action306( + let __temp0 = __action317( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1075( + __action1100( __0, __1, __2, @@ -49337,7 +50996,7 @@ fn __action1100< } #[allow(clippy::too_many_arguments)] -fn __action1101< +fn __action1126< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49345,18 +51004,18 @@ fn __action1101< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action416( + let __temp0 = __action427( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action414( + __action425( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1102< +fn __action1127< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49365,19 +51024,19 @@ fn __action1102< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action416( + let __temp0 = __action427( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action415( + __action426( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1103< +fn __action1128< >( __0: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49385,18 +51044,18 @@ fn __action1103< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action425( + let __temp0 = __action436( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action426( + __action437( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1104< +fn __action1129< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -49405,38 +51064,38 @@ fn __action1104< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action425( + let __temp0 = __action436( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action427( + __action438( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1105< +fn __action1130< >( __0: (TextSize, core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action423( + let __temp0 = __action434( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action227( + __action234( __temp0, __0, ) } #[allow(clippy::too_many_arguments)] -fn __action1106< +fn __action1131< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, core::option::Option<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), @@ -49444,18 +51103,18 @@ fn __action1106< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action424( + let __temp0 = __action435( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action227( + __action234( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1107< +fn __action1132< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49463,18 +51122,18 @@ fn __action1107< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action430( + let __temp0 = __action441( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action428( + __action439( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1108< +fn __action1133< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49483,19 +51142,19 @@ fn __action1108< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action430( + let __temp0 = __action441( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action429( + __action440( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1109< +fn __action1134< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49503,18 +51162,18 @@ fn __action1109< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action530( + let __temp0 = __action541( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action528( + __action539( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1110< +fn __action1135< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49527,12 +51186,12 @@ fn __action1110< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1134( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1031( + __action1054( __0, __temp0, __3, @@ -49543,7 +51202,7 @@ fn __action1110< } #[allow(clippy::too_many_arguments)] -fn __action1111< +fn __action1136< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49554,12 +51213,12 @@ fn __action1111< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action529( + let __temp0 = __action540( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1031( + __action1054( __0, __temp0, __1, @@ -49570,7 +51229,7 @@ fn __action1111< } #[allow(clippy::too_many_arguments)] -fn __action1112< +fn __action1137< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49584,12 +51243,12 @@ fn __action1112< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1134( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1032( + __action1055( __0, __temp0, __3, @@ -49601,7 +51260,7 @@ fn __action1112< } #[allow(clippy::too_many_arguments)] -fn __action1113< +fn __action1138< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49613,12 +51272,12 @@ fn __action1113< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action529( + let __temp0 = __action540( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1032( + __action1055( __0, __temp0, __1, @@ -49630,7 +51289,7 @@ fn __action1113< } #[allow(clippy::too_many_arguments)] -fn __action1114< +fn __action1139< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49642,12 +51301,12 @@ fn __action1114< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1134( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1033( + __action1056( __0, __temp0, __3, @@ -49657,7 +51316,7 @@ fn __action1114< } #[allow(clippy::too_many_arguments)] -fn __action1115< +fn __action1140< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49667,12 +51326,12 @@ fn __action1115< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action529( + let __temp0 = __action540( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1033( + __action1056( __0, __temp0, __1, @@ -49682,7 +51341,7 @@ fn __action1115< } #[allow(clippy::too_many_arguments)] -fn __action1116< +fn __action1141< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49695,12 +51354,12 @@ fn __action1116< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1134( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1034( + __action1057( __0, __temp0, __3, @@ -49711,7 +51370,7 @@ fn __action1116< } #[allow(clippy::too_many_arguments)] -fn __action1117< +fn __action1142< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49722,12 +51381,12 @@ fn __action1117< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action529( + let __temp0 = __action540( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1034( + __action1057( __0, __temp0, __1, @@ -49738,7 +51397,7 @@ fn __action1117< } #[allow(clippy::too_many_arguments)] -fn __action1118< +fn __action1143< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49751,12 +51410,12 @@ fn __action1118< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1134( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1035( + __action1058( __0, __temp0, __3, @@ -49767,7 +51426,7 @@ fn __action1118< } #[allow(clippy::too_many_arguments)] -fn __action1119< +fn __action1144< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49778,12 +51437,12 @@ fn __action1119< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action529( + let __temp0 = __action540( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1035( + __action1058( __0, __temp0, __1, @@ -49794,7 +51453,7 @@ fn __action1119< } #[allow(clippy::too_many_arguments)] -fn __action1120< +fn __action1145< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49808,12 +51467,12 @@ fn __action1120< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1134( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1036( + __action1059( __0, __temp0, __3, @@ -49825,7 +51484,7 @@ fn __action1120< } #[allow(clippy::too_many_arguments)] -fn __action1121< +fn __action1146< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49837,12 +51496,12 @@ fn __action1121< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action529( + let __temp0 = __action540( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1036( + __action1059( __0, __temp0, __1, @@ -49854,7 +51513,7 @@ fn __action1121< } #[allow(clippy::too_many_arguments)] -fn __action1122< +fn __action1147< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49866,12 +51525,12 @@ fn __action1122< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1134( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1037( + __action1060( __0, __temp0, __3, @@ -49881,7 +51540,7 @@ fn __action1122< } #[allow(clippy::too_many_arguments)] -fn __action1123< +fn __action1148< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49891,12 +51550,12 @@ fn __action1123< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action529( + let __temp0 = __action540( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1037( + __action1060( __0, __temp0, __1, @@ -49906,7 +51565,7 @@ fn __action1123< } #[allow(clippy::too_many_arguments)] -fn __action1124< +fn __action1149< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -49919,12 +51578,12 @@ fn __action1124< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1109( + let __temp0 = __action1134( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1038( + __action1061( __0, __temp0, __3, @@ -49935,7 +51594,7 @@ fn __action1124< } #[allow(clippy::too_many_arguments)] -fn __action1125< +fn __action1150< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -49946,12 +51605,12 @@ fn __action1125< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action529( + let __temp0 = __action540( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1038( + __action1061( __0, __temp0, __1, @@ -49962,7 +51621,7 @@ fn __action1125< } #[allow(clippy::too_many_arguments)] -fn __action1126< +fn __action1151< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -49970,18 +51629,18 @@ fn __action1126< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action320( + let __temp0 = __action331( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action318( + __action329( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1127< +fn __action1152< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -49990,38 +51649,38 @@ fn __action1127< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action320( + let __temp0 = __action331( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action319( + __action330( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1128< +fn __action1153< >( __0: (TextSize, core::option::Option, TextSize), ) -> Vec { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action385( + let __temp0 = __action396( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action317( + __action328( __temp0, __0, ) } #[allow(clippy::too_many_arguments)] -fn __action1129< +fn __action1154< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -50029,18 +51688,18 @@ fn __action1129< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action386( + let __temp0 = __action397( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action317( + __action328( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1130< +fn __action1155< >( __0: (TextSize, ast::Stmt, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50048,18 +51707,18 @@ fn __action1130< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action368( + let __temp0 = __action379( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action376( + __action387( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1131< +fn __action1156< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50068,19 +51727,19 @@ fn __action1131< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action368( + let __temp0 = __action379( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action377( + __action388( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1132< +fn __action1157< >( __0: (TextSize, ast::Suite, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50090,12 +51749,12 @@ fn __action1132< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action366( + let __temp0 = __action377( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action629( + __action642( __0, __temp0, __1, @@ -50105,7 +51764,7 @@ fn __action1132< } #[allow(clippy::too_many_arguments)] -fn __action1133< +fn __action1158< >( __0: (TextSize, ast::Suite, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -50116,11 +51775,11 @@ fn __action1133< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action367( + let __temp0 = __action378( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action629( + __action642( __0, __temp0, __2, @@ -50130,7 +51789,7 @@ fn __action1133< } #[allow(clippy::too_many_arguments)] -fn __action1134< +fn __action1159< >( __0: (TextSize, ast::Suite, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50139,12 +51798,12 @@ fn __action1134< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action366( + let __temp0 = __action377( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action630( + __action643( __0, __temp0, __1, @@ -50153,7 +51812,7 @@ fn __action1134< } #[allow(clippy::too_many_arguments)] -fn __action1135< +fn __action1160< >( __0: (TextSize, ast::Suite, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -50163,11 +51822,11 @@ fn __action1135< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action367( + let __temp0 = __action378( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action630( + __action643( __0, __temp0, __2, @@ -50176,7 +51835,7 @@ fn __action1135< } #[allow(clippy::too_many_arguments)] -fn __action1136< +fn __action1161< >( __0: (TextSize, ast::Stmt, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50185,12 +51844,12 @@ fn __action1136< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action366( + let __temp0 = __action377( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action631( + __action644( __temp0, __0, __1, @@ -50199,7 +51858,7 @@ fn __action1136< } #[allow(clippy::too_many_arguments)] -fn __action1137< +fn __action1162< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50209,11 +51868,11 @@ fn __action1137< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action367( + let __temp0 = __action378( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action631( + __action644( __temp0, __1, __2, @@ -50222,7 +51881,7 @@ fn __action1137< } #[allow(clippy::too_many_arguments)] -fn __action1138< +fn __action1163< >( __0: (TextSize, ast::Stmt, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50230,12 +51889,12 @@ fn __action1138< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action366( + let __temp0 = __action377( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action632( + __action645( __temp0, __0, __1, @@ -50243,7 +51902,7 @@ fn __action1138< } #[allow(clippy::too_many_arguments)] -fn __action1139< +fn __action1164< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50252,11 +51911,11 @@ fn __action1139< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action367( + let __temp0 = __action378( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action632( + __action645( __temp0, __1, __2, @@ -50264,7 +51923,7 @@ fn __action1139< } #[allow(clippy::too_many_arguments)] -fn __action1140< +fn __action1165< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50274,12 +51933,12 @@ fn __action1140< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action366( + let __temp0 = __action377( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action633( + __action646( __0, __temp0, __1, @@ -50289,7 +51948,7 @@ fn __action1140< } #[allow(clippy::too_many_arguments)] -fn __action1141< +fn __action1166< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -50300,11 +51959,11 @@ fn __action1141< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action367( + let __temp0 = __action378( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action633( + __action646( __0, __temp0, __2, @@ -50314,7 +51973,7 @@ fn __action1141< } #[allow(clippy::too_many_arguments)] -fn __action1142< +fn __action1167< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50323,12 +51982,12 @@ fn __action1142< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action366( + let __temp0 = __action377( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action634( + __action647( __0, __temp0, __1, @@ -50337,7 +51996,7 @@ fn __action1142< } #[allow(clippy::too_many_arguments)] -fn __action1143< +fn __action1168< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -50347,11 +52006,11 @@ fn __action1143< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action367( + let __temp0 = __action378( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action634( + __action647( __0, __temp0, __2, @@ -50360,7 +52019,7 @@ fn __action1143< } #[allow(clippy::too_many_arguments)] -fn __action1144< +fn __action1169< >( __0: (TextSize, ast::Stmt, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50369,12 +52028,12 @@ fn __action1144< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action366( + let __temp0 = __action377( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action635( + __action648( __temp0, __0, __1, @@ -50383,7 +52042,7 @@ fn __action1144< } #[allow(clippy::too_many_arguments)] -fn __action1145< +fn __action1170< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50393,11 +52052,11 @@ fn __action1145< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action367( + let __temp0 = __action378( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action635( + __action648( __temp0, __1, __2, @@ -50406,7 +52065,7 @@ fn __action1145< } #[allow(clippy::too_many_arguments)] -fn __action1146< +fn __action1171< >( __0: (TextSize, ast::Stmt, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50414,12 +52073,12 @@ fn __action1146< { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action366( + let __temp0 = __action377( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action636( + __action649( __temp0, __0, __1, @@ -50427,7 +52086,7 @@ fn __action1146< } #[allow(clippy::too_many_arguments)] -fn __action1147< +fn __action1172< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Stmt, TextSize), @@ -50436,11 +52095,11 @@ fn __action1147< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action367( + let __temp0 = __action378( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action636( + __action649( __temp0, __1, __2, @@ -50448,7 +52107,7 @@ fn __action1147< } #[allow(clippy::too_many_arguments)] -fn __action1148< +fn __action1173< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50460,13 +52119,13 @@ fn __action1148< { let __start0 = __1.0; let __end0 = __3.2; - let __temp0 = __action292( + let __temp0 = __action303( __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action764( + __action779( __0, __temp0, __4, @@ -50475,7 +52134,7 @@ fn __action1148< } #[allow(clippy::too_many_arguments)] -fn __action1149< +fn __action1174< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50488,13 +52147,13 @@ fn __action1149< { let __start0 = __2.0; let __end0 = __4.2; - let __temp0 = __action292( + let __temp0 = __action303( __2, __3, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action766( + __action781( __0, __1, __temp0, @@ -50504,26 +52163,26 @@ fn __action1149< } #[allow(clippy::too_many_arguments)] -fn __action1150< +fn __action1175< >( __0: (TextSize, (String, StringKind, bool), TextSize), ) -> (TextSize, (String, StringKind, bool), TextSize) { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action683( + __action696( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1151< +fn __action1176< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -50532,12 +52191,12 @@ fn __action1151< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action684( + __action697( __0, __1, __2, @@ -50546,7 +52205,7 @@ fn __action1151< } #[allow(clippy::too_many_arguments)] -fn __action1152< +fn __action1177< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50555,12 +52214,12 @@ fn __action1152< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action685( + __action698( __0, __1, __2, @@ -50569,7 +52228,7 @@ fn __action1152< } #[allow(clippy::too_many_arguments)] -fn __action1153< +fn __action1178< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50578,12 +52237,12 @@ fn __action1153< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action686( + __action699( __0, __1, __2, @@ -50592,7 +52251,7 @@ fn __action1153< } #[allow(clippy::too_many_arguments)] -fn __action1154< +fn __action1179< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50600,12 +52259,12 @@ fn __action1154< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action687( + __action700( __0, __1, __temp0, @@ -50613,7 +52272,7 @@ fn __action1154< } #[allow(clippy::too_many_arguments)] -fn __action1155< +fn __action1180< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50621,12 +52280,12 @@ fn __action1155< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action688( + __action701( __0, __1, __temp0, @@ -50634,7 +52293,7 @@ fn __action1155< } #[allow(clippy::too_many_arguments)] -fn __action1156< +fn __action1181< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -50643,12 +52302,12 @@ fn __action1156< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action689( + __action702( __0, __1, __2, @@ -50657,7 +52316,7 @@ fn __action1156< } #[allow(clippy::too_many_arguments)] -fn __action1157< +fn __action1182< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -50666,12 +52325,12 @@ fn __action1157< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action690( + __action703( __0, __1, __2, @@ -50680,7 +52339,7 @@ fn __action1157< } #[allow(clippy::too_many_arguments)] -fn __action1158< +fn __action1183< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -50689,12 +52348,12 @@ fn __action1158< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action691( + __action704( __0, __1, __2, @@ -50703,7 +52362,7 @@ fn __action1158< } #[allow(clippy::too_many_arguments)] -fn __action1159< +fn __action1184< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50713,12 +52372,12 @@ fn __action1159< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1027( + __action1050( __0, __1, __2, @@ -50728,7 +52387,7 @@ fn __action1159< } #[allow(clippy::too_many_arguments)] -fn __action1160< +fn __action1185< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50736,12 +52395,12 @@ fn __action1160< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1028( + __action1051( __0, __1, __temp0, @@ -50749,45 +52408,45 @@ fn __action1160< } #[allow(clippy::too_many_arguments)] -fn __action1161< +fn __action1186< >( __0: (TextSize, ast::Constant, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action694( + __action707( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1162< +fn __action1187< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action695( + __action708( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1163< +fn __action1188< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -50796,12 +52455,12 @@ fn __action1163< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action696( + __action709( __0, __1, __2, @@ -50810,7 +52469,7 @@ fn __action1163< } #[allow(clippy::too_many_arguments)] -fn __action1164< +fn __action1189< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50820,12 +52479,12 @@ fn __action1164< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action697( + __action710( __0, __1, __2, @@ -50835,7 +52494,7 @@ fn __action1164< } #[allow(clippy::too_many_arguments)] -fn __action1165< +fn __action1190< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -50845,12 +52504,12 @@ fn __action1165< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action698( + __action711( __0, __1, __2, @@ -50860,7 +52519,7 @@ fn __action1165< } #[allow(clippy::too_many_arguments)] -fn __action1166< +fn __action1191< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -50869,12 +52528,12 @@ fn __action1166< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action699( + __action712( __0, __1, __2, @@ -50883,7 +52542,7 @@ fn __action1166< } #[allow(clippy::too_many_arguments)] -fn __action1167< +fn __action1192< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -50895,12 +52554,12 @@ fn __action1167< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1110( + __action1135( __0, __1, __2, @@ -50912,7 +52571,7 @@ fn __action1167< } #[allow(clippy::too_many_arguments)] -fn __action1168< +fn __action1193< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50922,12 +52581,12 @@ fn __action1168< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1111( + __action1136( __0, __1, __2, @@ -50937,7 +52596,7 @@ fn __action1168< } #[allow(clippy::too_many_arguments)] -fn __action1169< +fn __action1194< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -50950,12 +52609,12 @@ fn __action1169< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1112( + __action1137( __0, __1, __2, @@ -50968,7 +52627,7 @@ fn __action1169< } #[allow(clippy::too_many_arguments)] -fn __action1170< +fn __action1195< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -50979,12 +52638,12 @@ fn __action1170< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1113( + __action1138( __0, __1, __2, @@ -50995,7 +52654,7 @@ fn __action1170< } #[allow(clippy::too_many_arguments)] -fn __action1171< +fn __action1196< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51006,12 +52665,12 @@ fn __action1171< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1114( + __action1139( __0, __1, __2, @@ -51022,7 +52681,7 @@ fn __action1171< } #[allow(clippy::too_many_arguments)] -fn __action1172< +fn __action1197< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51031,12 +52690,12 @@ fn __action1172< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1115( + __action1140( __0, __1, __2, @@ -51045,7 +52704,7 @@ fn __action1172< } #[allow(clippy::too_many_arguments)] -fn __action1173< +fn __action1198< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51057,12 +52716,12 @@ fn __action1173< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1116( + __action1141( __0, __1, __2, @@ -51074,7 +52733,7 @@ fn __action1173< } #[allow(clippy::too_many_arguments)] -fn __action1174< +fn __action1199< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51084,12 +52743,12 @@ fn __action1174< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1117( + __action1142( __0, __1, __2, @@ -51099,7 +52758,7 @@ fn __action1174< } #[allow(clippy::too_many_arguments)] -fn __action1175< +fn __action1200< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51107,12 +52766,12 @@ fn __action1175< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action702( + __action715( __0, __1, __temp0, @@ -51120,7 +52779,7 @@ fn __action1175< } #[allow(clippy::too_many_arguments)] -fn __action1176< +fn __action1201< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51130,12 +52789,12 @@ fn __action1176< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action703( + __action716( __0, __1, __2, @@ -51145,7 +52804,7 @@ fn __action1176< } #[allow(clippy::too_many_arguments)] -fn __action1177< +fn __action1202< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51155,12 +52814,12 @@ fn __action1177< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action704( + __action717( __0, __1, __2, @@ -51170,7 +52829,7 @@ fn __action1177< } #[allow(clippy::too_many_arguments)] -fn __action1178< +fn __action1203< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, ast::Expr)>>, TextSize), @@ -51179,12 +52838,12 @@ fn __action1178< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action705( + __action718( __0, __1, __2, @@ -51193,7 +52852,7 @@ fn __action1178< } #[allow(clippy::too_many_arguments)] -fn __action1179< +fn __action1204< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (ast::Expr, ast::Expr), TextSize), @@ -51203,12 +52862,12 @@ fn __action1179< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action706( + __action719( __0, __1, __2, @@ -51218,7 +52877,7 @@ fn __action1179< } #[allow(clippy::too_many_arguments)] -fn __action1180< +fn __action1205< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51227,12 +52886,12 @@ fn __action1180< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action707( + __action720( __0, __1, __2, @@ -51241,7 +52900,7 @@ fn __action1180< } #[allow(clippy::too_many_arguments)] -fn __action1181< +fn __action1206< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51251,12 +52910,12 @@ fn __action1181< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action708( + __action721( __0, __1, __2, @@ -51266,121 +52925,121 @@ fn __action1181< } #[allow(clippy::too_many_arguments)] -fn __action1182< +fn __action1207< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action709( + __action722( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1183< +fn __action1208< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action710( + __action723( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1184< +fn __action1209< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action711( + __action724( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1185< +fn __action1210< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action712( + __action725( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1186< +fn __action1211< >( __0: (TextSize, ast::Constant, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action714( + __action727( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1187< +fn __action1212< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action715( + __action728( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1188< +fn __action1213< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -51389,12 +53048,12 @@ fn __action1188< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action716( + __action729( __0, __1, __2, @@ -51403,7 +53062,7 @@ fn __action1188< } #[allow(clippy::too_many_arguments)] -fn __action1189< +fn __action1214< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51413,12 +53072,12 @@ fn __action1189< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action717( + __action730( __0, __1, __2, @@ -51428,7 +53087,7 @@ fn __action1189< } #[allow(clippy::too_many_arguments)] -fn __action1190< +fn __action1215< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51440,12 +53099,12 @@ fn __action1190< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1118( + __action1143( __0, __1, __2, @@ -51457,7 +53116,7 @@ fn __action1190< } #[allow(clippy::too_many_arguments)] -fn __action1191< +fn __action1216< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51467,12 +53126,12 @@ fn __action1191< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1119( + __action1144( __0, __1, __2, @@ -51482,7 +53141,7 @@ fn __action1191< } #[allow(clippy::too_many_arguments)] -fn __action1192< +fn __action1217< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51495,12 +53154,12 @@ fn __action1192< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1120( + __action1145( __0, __1, __2, @@ -51513,7 +53172,7 @@ fn __action1192< } #[allow(clippy::too_many_arguments)] -fn __action1193< +fn __action1218< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51524,12 +53183,12 @@ fn __action1193< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1121( + __action1146( __0, __1, __2, @@ -51540,7 +53199,7 @@ fn __action1193< } #[allow(clippy::too_many_arguments)] -fn __action1194< +fn __action1219< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51551,12 +53210,12 @@ fn __action1194< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1122( + __action1147( __0, __1, __2, @@ -51567,7 +53226,7 @@ fn __action1194< } #[allow(clippy::too_many_arguments)] -fn __action1195< +fn __action1220< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51576,12 +53235,12 @@ fn __action1195< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1123( + __action1148( __0, __1, __2, @@ -51590,7 +53249,7 @@ fn __action1195< } #[allow(clippy::too_many_arguments)] -fn __action1196< +fn __action1221< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51602,12 +53261,12 @@ fn __action1196< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1124( + __action1149( __0, __1, __2, @@ -51619,7 +53278,7 @@ fn __action1196< } #[allow(clippy::too_many_arguments)] -fn __action1197< +fn __action1222< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51629,12 +53288,12 @@ fn __action1197< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1125( + __action1150( __0, __1, __2, @@ -51644,7 +53303,7 @@ fn __action1197< } #[allow(clippy::too_many_arguments)] -fn __action1198< +fn __action1223< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51652,12 +53311,12 @@ fn __action1198< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action720( + __action733( __0, __1, __temp0, @@ -51665,7 +53324,7 @@ fn __action1198< } #[allow(clippy::too_many_arguments)] -fn __action1199< +fn __action1224< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51675,12 +53334,12 @@ fn __action1199< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action721( + __action734( __0, __1, __2, @@ -51690,7 +53349,7 @@ fn __action1199< } #[allow(clippy::too_many_arguments)] -fn __action1200< +fn __action1225< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51700,12 +53359,12 @@ fn __action1200< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action722( + __action735( __0, __1, __2, @@ -51715,7 +53374,7 @@ fn __action1200< } #[allow(clippy::too_many_arguments)] -fn __action1201< +fn __action1226< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option>, ast::Expr)>>, TextSize), @@ -51724,12 +53383,12 @@ fn __action1201< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action723( + __action736( __0, __1, __2, @@ -51738,7 +53397,7 @@ fn __action1201< } #[allow(clippy::too_many_arguments)] -fn __action1202< +fn __action1227< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (ast::Expr, ast::Expr), TextSize), @@ -51748,12 +53407,12 @@ fn __action1202< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action724( + __action737( __0, __1, __2, @@ -51763,7 +53422,7 @@ fn __action1202< } #[allow(clippy::too_many_arguments)] -fn __action1203< +fn __action1228< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -51772,12 +53431,12 @@ fn __action1203< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action725( + __action738( __0, __1, __2, @@ -51786,7 +53445,7 @@ fn __action1203< } #[allow(clippy::too_many_arguments)] -fn __action1204< +fn __action1229< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -51796,12 +53455,12 @@ fn __action1204< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action726( + __action739( __0, __1, __2, @@ -51811,83 +53470,83 @@ fn __action1204< } #[allow(clippy::too_many_arguments)] -fn __action1205< +fn __action1230< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action727( + __action740( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1206< +fn __action1231< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action728( + __action741( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1207< +fn __action1232< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action729( + __action742( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1208< +fn __action1233< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action730( + __action743( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1209< +fn __action1234< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51897,12 +53556,12 @@ fn __action1209< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action731( + __action744( __0, __1, __2, @@ -51912,7 +53571,7 @@ fn __action1209< } #[allow(clippy::too_many_arguments)] -fn __action1210< +fn __action1235< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51922,12 +53581,12 @@ fn __action1210< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action732( + __action745( __0, __1, __2, @@ -51937,7 +53596,7 @@ fn __action1210< } #[allow(clippy::too_many_arguments)] -fn __action1211< +fn __action1236< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51946,12 +53605,12 @@ fn __action1211< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action733( + __action746( __0, __1, __2, @@ -51960,7 +53619,7 @@ fn __action1211< } #[allow(clippy::too_many_arguments)] -fn __action1212< +fn __action1237< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51970,12 +53629,12 @@ fn __action1212< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action734( + __action747( __0, __1, __2, @@ -51985,7 +53644,7 @@ fn __action1212< } #[allow(clippy::too_many_arguments)] -fn __action1213< +fn __action1238< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -51995,12 +53654,12 @@ fn __action1213< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action735( + __action748( __0, __1, __2, @@ -52010,7 +53669,7 @@ fn __action1213< } #[allow(clippy::too_many_arguments)] -fn __action1214< +fn __action1239< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52019,12 +53678,12 @@ fn __action1214< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action736( + __action749( __0, __1, __2, @@ -52033,7 +53692,7 @@ fn __action1214< } #[allow(clippy::too_many_arguments)] -fn __action1215< +fn __action1240< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52041,12 +53700,12 @@ fn __action1215< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action737( + __action750( __0, __1, __temp0, @@ -52054,7 +53713,7 @@ fn __action1215< } #[allow(clippy::too_many_arguments)] -fn __action1216< +fn __action1241< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52062,12 +53721,12 @@ fn __action1216< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action738( + __action751( __0, __1, __temp0, @@ -52075,26 +53734,26 @@ fn __action1216< } #[allow(clippy::too_many_arguments)] -fn __action1217< +fn __action1242< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Pattern { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action739( + __action752( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1218< +fn __action1243< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52107,12 +53766,12 @@ fn __action1218< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action742( + __action755( __0, __1, __2, @@ -52125,7 +53784,7 @@ fn __action1218< } #[allow(clippy::too_many_arguments)] -fn __action1219< +fn __action1244< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52137,12 +53796,12 @@ fn __action1219< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action743( + __action756( __0, __1, __2, @@ -52154,7 +53813,7 @@ fn __action1219< } #[allow(clippy::too_many_arguments)] -fn __action1220< +fn __action1245< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52165,12 +53824,12 @@ fn __action1220< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action744( + __action757( __0, __1, __2, @@ -52181,7 +53840,7 @@ fn __action1220< } #[allow(clippy::too_many_arguments)] -fn __action1221< +fn __action1246< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52191,12 +53850,12 @@ fn __action1221< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action745( + __action758( __0, __1, __2, @@ -52206,7 +53865,7 @@ fn __action1221< } #[allow(clippy::too_many_arguments)] -fn __action1222< +fn __action1247< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52217,12 +53876,12 @@ fn __action1222< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action746( + __action759( __0, __1, __2, @@ -52233,7 +53892,7 @@ fn __action1222< } #[allow(clippy::too_many_arguments)] -fn __action1223< +fn __action1248< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52243,12 +53902,12 @@ fn __action1223< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action747( + __action760( __0, __1, __2, @@ -52258,7 +53917,7 @@ fn __action1223< } #[allow(clippy::too_many_arguments)] -fn __action1224< +fn __action1249< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52267,12 +53926,12 @@ fn __action1224< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action748( + __action761( __0, __1, __2, @@ -52281,7 +53940,7 @@ fn __action1224< } #[allow(clippy::too_many_arguments)] -fn __action1225< +fn __action1250< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52294,12 +53953,12 @@ fn __action1225< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action749( + __action762( __0, __1, __2, @@ -52312,7 +53971,7 @@ fn __action1225< } #[allow(clippy::too_many_arguments)] -fn __action1226< +fn __action1251< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52324,12 +53983,12 @@ fn __action1226< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action750( + __action763( __0, __1, __2, @@ -52341,7 +54000,7 @@ fn __action1226< } #[allow(clippy::too_many_arguments)] -fn __action1227< +fn __action1252< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52352,12 +54011,12 @@ fn __action1227< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action751( + __action764( __0, __1, __2, @@ -52368,7 +54027,7 @@ fn __action1227< } #[allow(clippy::too_many_arguments)] -fn __action1228< +fn __action1253< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52378,12 +54037,12 @@ fn __action1228< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action752( + __action765( __0, __1, __2, @@ -52393,7 +54052,7 @@ fn __action1228< } #[allow(clippy::too_many_arguments)] -fn __action1229< +fn __action1254< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52404,12 +54063,12 @@ fn __action1229< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action753( + __action766( __0, __1, __2, @@ -52420,7 +54079,7 @@ fn __action1229< } #[allow(clippy::too_many_arguments)] -fn __action1230< +fn __action1255< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52430,12 +54089,12 @@ fn __action1230< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action754( + __action767( __0, __1, __2, @@ -52445,7 +54104,7 @@ fn __action1230< } #[allow(clippy::too_many_arguments)] -fn __action1231< +fn __action1256< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52454,12 +54113,12 @@ fn __action1231< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action755( + __action768( __0, __1, __2, @@ -52468,7 +54127,7 @@ fn __action1231< } #[allow(clippy::too_many_arguments)] -fn __action1232< +fn __action1257< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), @@ -52476,12 +54135,12 @@ fn __action1232< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action756( + __action769( __0, __1, __temp0, @@ -52489,7 +54148,7 @@ fn __action1232< } #[allow(clippy::too_many_arguments)] -fn __action1233< +fn __action1258< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), @@ -52497,12 +54156,12 @@ fn __action1233< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action757( + __action770( __0, __1, __temp0, @@ -52510,26 +54169,26 @@ fn __action1233< } #[allow(clippy::too_many_arguments)] -fn __action1234< +fn __action1259< >( __0: (TextSize, ast::Constant, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action758( + __action771( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1235< +fn __action1260< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52537,12 +54196,12 @@ fn __action1235< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action759( + __action772( __0, __1, __temp0, @@ -52550,7 +54209,30 @@ fn __action1235< } #[allow(clippy::too_many_arguments)] -fn __action1236< +fn __action1261< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Expr, TextSize), + __2: (TextSize, token::Tok, TextSize), +) -> ast::Decorator +{ + let __start0 = __1.2; + let __end0 = __2.0; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action773( + __0, + __1, + __temp0, + __2, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1262< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -52558,12 +54240,12 @@ fn __action1236< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action761( + __action774( __0, __1, __temp0, @@ -52571,7 +54253,47 @@ fn __action1236< } #[allow(clippy::too_many_arguments)] -fn __action1237< +fn __action1263< +>( + __0: (TextSize, String, TextSize), +) -> ast::Identifier +{ + let __start0 = __0.2; + let __end0 = __0.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action775( + __0, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1264< +>( + __0: (TextSize, String, TextSize), + __1: (TextSize, alloc::vec::Vec<(token::Tok, ast::Identifier)>, TextSize), +) -> ast::Identifier +{ + let __start0 = __1.2; + let __end0 = __1.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action776( + __0, + __1, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1265< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52580,12 +54302,12 @@ fn __action1237< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1053( + __action1076( __0, __1, __2, @@ -52594,26 +54316,26 @@ fn __action1237< } #[allow(clippy::too_many_arguments)] -fn __action1238< +fn __action1266< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1054( + __action1077( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1239< +fn __action1267< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52622,12 +54344,12 @@ fn __action1239< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action767( + __action782( __0, __1, __2, @@ -52636,7 +54358,7 @@ fn __action1239< } #[allow(clippy::too_many_arguments)] -fn __action1240< +fn __action1268< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52645,12 +54367,12 @@ fn __action1240< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action768( + __action783( __0, __1, __2, @@ -52659,7 +54381,7 @@ fn __action1240< } #[allow(clippy::too_many_arguments)] -fn __action1241< +fn __action1269< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -52667,12 +54389,12 @@ fn __action1241< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action769( + __action784( __0, __1, __temp0, @@ -52680,7 +54402,7 @@ fn __action1241< } #[allow(clippy::too_many_arguments)] -fn __action1242< +fn __action1270< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -52689,12 +54411,12 @@ fn __action1242< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action770( + __action785( __0, __1, __2, @@ -52703,7 +54425,7 @@ fn __action1242< } #[allow(clippy::too_many_arguments)] -fn __action1243< +fn __action1271< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52713,12 +54435,12 @@ fn __action1243< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action771( + __action786( __0, __1, __2, @@ -52728,7 +54450,7 @@ fn __action1243< } #[allow(clippy::too_many_arguments)] -fn __action1244< +fn __action1272< >( __0: (TextSize, ast::UnaryOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52736,12 +54458,12 @@ fn __action1244< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action772( + __action787( __0, __1, __temp0, @@ -52749,7 +54471,7 @@ fn __action1244< } #[allow(clippy::too_many_arguments)] -fn __action1245< +fn __action1273< >( __0: (TextSize, ast::UnaryOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52757,12 +54479,12 @@ fn __action1245< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action773( + __action788( __0, __1, __temp0, @@ -52770,45 +54492,45 @@ fn __action1245< } #[allow(clippy::too_many_arguments)] -fn __action1246< +fn __action1274< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action774( + __action789( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1247< +fn __action1275< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action775( + __action790( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1248< +fn __action1276< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -52816,12 +54538,12 @@ fn __action1248< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action776( + __action791( __0, __1, __temp0, @@ -52829,26 +54551,26 @@ fn __action1248< } #[allow(clippy::too_many_arguments)] -fn __action1249< +fn __action1277< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action777( + __action792( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1250< +fn __action1278< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, core::option::Option>, TextSize), @@ -52856,12 +54578,12 @@ fn __action1250< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action782( + __action797( __0, __1, __temp0, @@ -52869,7 +54591,7 @@ fn __action1250< } #[allow(clippy::too_many_arguments)] -fn __action1251< +fn __action1279< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52878,12 +54600,12 @@ fn __action1251< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action783( + __action798( __0, __1, __2, @@ -52892,7 +54614,7 @@ fn __action1251< } #[allow(clippy::too_many_arguments)] -fn __action1252< +fn __action1280< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52900,12 +54622,12 @@ fn __action1252< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action784( + __action799( __0, __1, __temp0, @@ -52913,7 +54635,7 @@ fn __action1252< } #[allow(clippy::too_many_arguments)] -fn __action1253< +fn __action1281< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -52921,12 +54643,12 @@ fn __action1253< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action785( + __action800( __0, __1, __temp0, @@ -52934,7 +54656,7 @@ fn __action1253< } #[allow(clippy::too_many_arguments)] -fn __action1254< +fn __action1282< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52942,12 +54664,12 @@ fn __action1254< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action786( + __action801( __0, __1, __temp0, @@ -52955,26 +54677,26 @@ fn __action1254< } #[allow(clippy::too_many_arguments)] -fn __action1255< +fn __action1283< >( __0: (TextSize, Vec, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action787( + __action802( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1256< +fn __action1284< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -52982,12 +54704,12 @@ fn __action1256< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action788( + __action803( __0, __1, __temp0, @@ -52995,26 +54717,26 @@ fn __action1256< } #[allow(clippy::too_many_arguments)] -fn __action1257< +fn __action1285< >( __0: (TextSize, Vec, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action789( + __action804( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1258< +fn __action1286< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53022,12 +54744,12 @@ fn __action1258< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action790( + __action805( __0, __1, __temp0, @@ -53035,7 +54757,26 @@ fn __action1258< } #[allow(clippy::too_many_arguments)] -fn __action1259< +fn __action1287< +>( + __0: (TextSize, String, TextSize), +) -> ast::Identifier +{ + let __start0 = __0.2; + let __end0 = __0.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action806( + __0, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1288< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53044,12 +54785,12 @@ fn __action1259< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1065( + __action1090( __0, __1, __2, @@ -53058,26 +54799,26 @@ fn __action1259< } #[allow(clippy::too_many_arguments)] -fn __action1260< +fn __action1289< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Alias { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1066( + __action1091( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1261< +fn __action1290< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53086,12 +54827,12 @@ fn __action1261< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1067( + __action1092( __0, __1, __2, @@ -53100,45 +54841,45 @@ fn __action1261< } #[allow(clippy::too_many_arguments)] -fn __action1262< +fn __action1291< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Alias { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1068( + __action1093( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1263< +fn __action1292< >( __0: (TextSize, Vec, TextSize), ) -> Vec { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action794( + __action810( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1264< +fn __action1293< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53148,12 +54889,12 @@ fn __action1264< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action795( + __action811( __0, __1, __2, @@ -53163,7 +54904,7 @@ fn __action1264< } #[allow(clippy::too_many_arguments)] -fn __action1265< +fn __action1294< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53172,12 +54913,12 @@ fn __action1265< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action796( + __action812( __0, __1, __2, @@ -53186,26 +54927,26 @@ fn __action1265< } #[allow(clippy::too_many_arguments)] -fn __action1266< +fn __action1295< >( __0: (TextSize, token::Tok, TextSize), ) -> Vec { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action797( + __action813( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1267< +fn __action1296< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53213,12 +54954,12 @@ fn __action1267< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action798( + __action814( __0, __1, __temp0, @@ -53226,7 +54967,7 @@ fn __action1267< } #[allow(clippy::too_many_arguments)] -fn __action1268< +fn __action1297< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, (Option, Option), TextSize), @@ -53236,12 +54977,12 @@ fn __action1268< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action799( + __action815( __0, __1, __2, @@ -53251,7 +54992,7 @@ fn __action1268< } #[allow(clippy::too_many_arguments)] -fn __action1269< +fn __action1298< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -53261,12 +55002,12 @@ fn __action1269< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action800( + __action816( __0, __1, __2, @@ -53276,178 +55017,178 @@ fn __action1269< } #[allow(clippy::too_many_arguments)] -fn __action1270< +fn __action1299< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Pattern { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action801( + __action817( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1271< +fn __action1300< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Pattern { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action802( + __action818( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1272< +fn __action1301< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Pattern { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action803( + __action819( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1273< +fn __action1302< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Pattern { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action804( + __action820( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1274< +fn __action1303< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Pattern { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action805( + __action821( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1275< +fn __action1304< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), ) -> Result> { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action806( + __action822( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1276< +fn __action1305< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action807( + __action823( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1277< +fn __action1306< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action808( + __action824( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1278< +fn __action1307< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action809( + __action825( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1279< +fn __action1308< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53455,12 +55196,12 @@ fn __action1279< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action811( + __action827( __0, __1, __temp0, @@ -53468,7 +55209,7 @@ fn __action1279< } #[allow(clippy::too_many_arguments)] -fn __action1280< +fn __action1309< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53478,12 +55219,12 @@ fn __action1280< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action812( + __action828( __0, __1, __2, @@ -53493,7 +55234,7 @@ fn __action1280< } #[allow(clippy::too_many_arguments)] -fn __action1281< +fn __action1310< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53502,12 +55243,12 @@ fn __action1281< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action813( + __action829( __0, __1, __2, @@ -53516,7 +55257,7 @@ fn __action1281< } #[allow(clippy::too_many_arguments)] -fn __action1282< +fn __action1311< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53527,12 +55268,12 @@ fn __action1282< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action814( + __action830( __0, __1, __2, @@ -53543,7 +55284,7 @@ fn __action1282< } #[allow(clippy::too_many_arguments)] -fn __action1283< +fn __action1312< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53553,12 +55294,12 @@ fn __action1283< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action815( + __action831( __0, __1, __2, @@ -53568,7 +55309,7 @@ fn __action1283< } #[allow(clippy::too_many_arguments)] -fn __action1284< +fn __action1313< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53581,12 +55322,12 @@ fn __action1284< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action816( + __action832( __0, __1, __2, @@ -53599,7 +55340,7 @@ fn __action1284< } #[allow(clippy::too_many_arguments)] -fn __action1285< +fn __action1314< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(ast::Expr, ast::Pattern)>, TextSize), @@ -53611,12 +55352,12 @@ fn __action1285< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action817( + __action833( __0, __1, __2, @@ -53628,26 +55369,26 @@ fn __action1285< } #[allow(clippy::too_many_arguments)] -fn __action1286< +fn __action1315< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action819( + __action835( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1287< +fn __action1316< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53656,12 +55397,12 @@ fn __action1287< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action820( + __action836( __0, __1, __2, @@ -53670,7 +55411,7 @@ fn __action1287< } #[allow(clippy::too_many_arguments)] -fn __action1288< +fn __action1317< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53679,12 +55420,12 @@ fn __action1288< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action821( + __action837( __0, __1, __2, @@ -53693,7 +55434,7 @@ fn __action1288< } #[allow(clippy::too_many_arguments)] -fn __action1289< +fn __action1318< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53702,12 +55443,12 @@ fn __action1289< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action826( + __action842( __0, __temp0, __1, @@ -53716,7 +55457,7 @@ fn __action1289< } #[allow(clippy::too_many_arguments)] -fn __action1290< +fn __action1319< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -53724,12 +55465,12 @@ fn __action1290< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action827( + __action843( __0, __1, __temp0, @@ -53737,7 +55478,7 @@ fn __action1290< } #[allow(clippy::too_many_arguments)] -fn __action1291< +fn __action1320< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53745,12 +55486,12 @@ fn __action1291< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action828( + __action844( __0, __1, __temp0, @@ -53758,7 +55499,7 @@ fn __action1291< } #[allow(clippy::too_many_arguments)] -fn __action1292< +fn __action1321< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53766,12 +55507,12 @@ fn __action1292< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action829( + __action845( __0, __1, __temp0, @@ -53779,26 +55520,26 @@ fn __action1292< } #[allow(clippy::too_many_arguments)] -fn __action1293< +fn __action1322< >( __0: (TextSize, Vec, TextSize), ) -> ast::Pattern { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action830( + __action846( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1294< +fn __action1323< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53806,12 +55547,12 @@ fn __action1294< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action831( + __action847( __0, __1, __temp0, @@ -53819,7 +55560,7 @@ fn __action1294< } #[allow(clippy::too_many_arguments)] -fn __action1295< +fn __action1324< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -53827,12 +55568,12 @@ fn __action1295< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action832( + __action848( __0, __1, __temp0, @@ -53840,67 +55581,113 @@ fn __action1295< } #[allow(clippy::too_many_arguments)] -fn __action1296< +fn __action1325< >( - __0: (TextSize, (Vec, Vec), TextSize), + __0: (TextSize, ast::ArgWithDefault, TextSize), __1: (TextSize, token::Tok, TextSize), - __2: (TextSize, token::Tok, TextSize), - __3: (TextSize, ast::Arg, TextSize), - __4: (TextSize, token::Tok, TextSize), - __5: (TextSize, Option>, TextSize), - __6: (TextSize, token::Tok, TextSize), -) -> Result> + __2: (TextSize, ast::Expr, TextSize), +) -> ast::ArgWithDefault { - let __start0 = __6.2; - let __end0 = __6.2; - let __temp0 = __action372( + let __start0 = __2.2; + let __end0 = __2.2; + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action948( + __action465( __0, __1, __2, - __3, - __4, - __5, - __6, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1297< +fn __action1326< >( - __0: (TextSize, (Vec, Vec), TextSize), + __0: (TextSize, ast::ArgWithDefault, TextSize), __1: (TextSize, token::Tok, TextSize), - __2: (TextSize, token::Tok, TextSize), - __3: (TextSize, token::Tok, TextSize), - __4: (TextSize, Option>, TextSize), - __5: (TextSize, token::Tok, TextSize), -) -> Result> + __2: (TextSize, ast::Expr, TextSize), +) -> ast::ArgWithDefault { - let __start0 = __5.2; - let __end0 = __5.2; - let __temp0 = __action372( + let __start0 = __2.2; + let __end0 = __2.2; + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action949( + __action454( __0, __1, __2, - __3, - __4, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1327< +>( + __0: (TextSize, (Vec, Vec), TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::Arg, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, Option>, TextSize), + __6: (TextSize, token::Tok, TextSize), +) -> Result> +{ + let __start0 = __6.2; + let __end0 = __6.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action971( + __0, + __1, + __2, + __3, + __4, __5, + __6, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1298< +fn __action1328< +>( + __0: (TextSize, (Vec, Vec), TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, Option>, TextSize), + __5: (TextSize, token::Tok, TextSize), +) -> Result> +{ + let __start0 = __5.2; + let __end0 = __5.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action972( + __0, + __1, + __2, + __3, + __4, + __5, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1329< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53914,12 +55701,12 @@ fn __action1298< { let __start0 = __7.2; let __end0 = __7.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action950( + __action973( __0, __1, __2, @@ -53933,7 +55720,7 @@ fn __action1298< } #[allow(clippy::too_many_arguments)] -fn __action1299< +fn __action1330< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53946,12 +55733,12 @@ fn __action1299< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action951( + __action974( __0, __1, __2, @@ -53964,7 +55751,7 @@ fn __action1299< } #[allow(clippy::too_many_arguments)] -fn __action1300< +fn __action1331< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -53975,12 +55762,12 @@ fn __action1300< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action952( + __action975( __0, __1, __2, @@ -53991,7 +55778,7 @@ fn __action1300< } #[allow(clippy::too_many_arguments)] -fn __action1301< +fn __action1332< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54001,12 +55788,12 @@ fn __action1301< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action953( + __action976( __0, __1, __2, @@ -54016,7 +55803,7 @@ fn __action1301< } #[allow(clippy::too_many_arguments)] -fn __action1302< +fn __action1333< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54028,12 +55815,12 @@ fn __action1302< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action954( + __action977( __0, __1, __2, @@ -54045,7 +55832,7 @@ fn __action1302< } #[allow(clippy::too_many_arguments)] -fn __action1303< +fn __action1334< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54056,12 +55843,12 @@ fn __action1303< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action955( + __action978( __0, __1, __2, @@ -54072,7 +55859,7 @@ fn __action1303< } #[allow(clippy::too_many_arguments)] -fn __action1304< +fn __action1335< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54080,12 +55867,12 @@ fn __action1304< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action956( + __action979( __0, __1, __temp0, @@ -54093,7 +55880,7 @@ fn __action1304< } #[allow(clippy::too_many_arguments)] -fn __action1305< +fn __action1336< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54105,12 +55892,12 @@ fn __action1305< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action957( + __action980( __0, __1, __2, @@ -54122,7 +55909,7 @@ fn __action1305< } #[allow(clippy::too_many_arguments)] -fn __action1306< +fn __action1337< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54133,12 +55920,12 @@ fn __action1306< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action958( + __action981( __0, __1, __2, @@ -54149,7 +55936,7 @@ fn __action1306< } #[allow(clippy::too_many_arguments)] -fn __action1307< +fn __action1338< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54162,12 +55949,12 @@ fn __action1307< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action959( + __action982( __0, __1, __2, @@ -54180,7 +55967,7 @@ fn __action1307< } #[allow(clippy::too_many_arguments)] -fn __action1308< +fn __action1339< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54192,12 +55979,12 @@ fn __action1308< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action960( + __action983( __0, __1, __2, @@ -54209,7 +55996,7 @@ fn __action1308< } #[allow(clippy::too_many_arguments)] -fn __action1309< +fn __action1340< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54219,12 +56006,12 @@ fn __action1309< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action961( + __action984( __0, __1, __2, @@ -54234,7 +56021,7 @@ fn __action1309< } #[allow(clippy::too_many_arguments)] -fn __action1310< +fn __action1341< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54243,12 +56030,12 @@ fn __action1310< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action962( + __action985( __0, __1, __2, @@ -54257,7 +56044,7 @@ fn __action1310< } #[allow(clippy::too_many_arguments)] -fn __action1311< +fn __action1342< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54268,12 +56055,12 @@ fn __action1311< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action963( + __action986( __0, __1, __2, @@ -54284,7 +56071,7 @@ fn __action1311< } #[allow(clippy::too_many_arguments)] -fn __action1312< +fn __action1343< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54294,12 +56081,12 @@ fn __action1312< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action964( + __action987( __0, __1, __2, @@ -54309,26 +56096,26 @@ fn __action1312< } #[allow(clippy::too_many_arguments)] -fn __action1313< +fn __action1344< >( __0: (TextSize, (Vec, Vec), TextSize), ) -> Result> { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action965( + __action988( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1314< +fn __action1345< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54338,12 +56125,12 @@ fn __action1314< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action835( + __action851( __0, __1, __2, @@ -54353,7 +56140,7 @@ fn __action1314< } #[allow(clippy::too_many_arguments)] -fn __action1315< +fn __action1346< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54362,12 +56149,12 @@ fn __action1315< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action836( + __action852( __0, __1, __2, @@ -54376,7 +56163,7 @@ fn __action1315< } #[allow(clippy::too_many_arguments)] -fn __action1316< +fn __action1347< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54387,12 +56174,12 @@ fn __action1316< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action924( + __action947( __0, __1, __2, @@ -54403,7 +56190,7 @@ fn __action1316< } #[allow(clippy::too_many_arguments)] -fn __action1317< +fn __action1348< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54413,12 +56200,12 @@ fn __action1317< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action925( + __action948( __0, __1, __2, @@ -54428,7 +56215,7 @@ fn __action1317< } #[allow(clippy::too_many_arguments)] -fn __action1318< +fn __action1349< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54440,12 +56227,12 @@ fn __action1318< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action926( + __action949( __0, __1, __2, @@ -54457,7 +56244,7 @@ fn __action1318< } #[allow(clippy::too_many_arguments)] -fn __action1319< +fn __action1350< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54468,12 +56255,12 @@ fn __action1319< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action927( + __action950( __0, __1, __2, @@ -54484,7 +56271,7 @@ fn __action1319< } #[allow(clippy::too_many_arguments)] -fn __action1320< +fn __action1351< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54493,12 +56280,12 @@ fn __action1320< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action928( + __action951( __0, __1, __2, @@ -54507,7 +56294,7 @@ fn __action1320< } #[allow(clippy::too_many_arguments)] -fn __action1321< +fn __action1352< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54515,12 +56302,12 @@ fn __action1321< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action929( + __action952( __0, __1, __temp0, @@ -54528,7 +56315,7 @@ fn __action1321< } #[allow(clippy::too_many_arguments)] -fn __action1322< +fn __action1353< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54538,12 +56325,12 @@ fn __action1322< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action930( + __action953( __0, __1, __2, @@ -54553,7 +56340,7 @@ fn __action1322< } #[allow(clippy::too_many_arguments)] -fn __action1323< +fn __action1354< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54562,12 +56349,12 @@ fn __action1323< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action931( + __action954( __0, __1, __2, @@ -54576,7 +56363,7 @@ fn __action1323< } #[allow(clippy::too_many_arguments)] -fn __action1324< +fn __action1355< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54586,12 +56373,12 @@ fn __action1324< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action932( + __action955( __0, __1, __2, @@ -54601,7 +56388,7 @@ fn __action1324< } #[allow(clippy::too_many_arguments)] -fn __action1325< +fn __action1356< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54610,12 +56397,12 @@ fn __action1325< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action933( + __action956( __0, __1, __2, @@ -54624,7 +56411,7 @@ fn __action1325< } #[allow(clippy::too_many_arguments)] -fn __action1326< +fn __action1357< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54635,12 +56422,12 @@ fn __action1326< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action934( + __action957( __0, __1, __2, @@ -54651,7 +56438,7 @@ fn __action1326< } #[allow(clippy::too_many_arguments)] -fn __action1327< +fn __action1358< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54661,12 +56448,12 @@ fn __action1327< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action935( + __action958( __0, __1, __2, @@ -54676,7 +56463,7 @@ fn __action1327< } #[allow(clippy::too_many_arguments)] -fn __action1328< +fn __action1359< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54684,12 +56471,12 @@ fn __action1328< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action936( + __action959( __0, __1, __temp0, @@ -54697,26 +56484,26 @@ fn __action1328< } #[allow(clippy::too_many_arguments)] -fn __action1329< +fn __action1360< >( __0: (TextSize, token::Tok, TextSize), ) -> Result> { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action937( + __action960( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1330< +fn __action1361< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -54725,12 +56512,12 @@ fn __action1330< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action938( + __action961( __0, __1, __2, @@ -54739,7 +56526,7 @@ fn __action1330< } #[allow(clippy::too_many_arguments)] -fn __action1331< +fn __action1362< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -54747,12 +56534,12 @@ fn __action1331< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action939( + __action962( __0, __1, __temp0, @@ -54760,7 +56547,7 @@ fn __action1331< } #[allow(clippy::too_many_arguments)] -fn __action1332< +fn __action1363< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54768,12 +56555,12 @@ fn __action1332< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action839( + __action855( __0, __1, __temp0, @@ -54781,26 +56568,26 @@ fn __action1332< } #[allow(clippy::too_many_arguments)] -fn __action1333< +fn __action1364< >( __0: (TextSize, Option>, TextSize), ) -> ast::Arguments { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action840( + __action856( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1334< +fn __action1365< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54813,12 +56600,12 @@ fn __action1334< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1008( + __action1031( __0, __1, __2, @@ -54831,7 +56618,7 @@ fn __action1334< } #[allow(clippy::too_many_arguments)] -fn __action1335< +fn __action1366< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54843,12 +56630,12 @@ fn __action1335< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1009( + __action1032( __0, __1, __2, @@ -54860,7 +56647,7 @@ fn __action1335< } #[allow(clippy::too_many_arguments)] -fn __action1336< +fn __action1367< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54874,12 +56661,12 @@ fn __action1336< { let __start0 = __7.2; let __end0 = __7.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1010( + __action1033( __0, __1, __2, @@ -54893,7 +56680,7 @@ fn __action1336< } #[allow(clippy::too_many_arguments)] -fn __action1337< +fn __action1368< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54906,12 +56693,12 @@ fn __action1337< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1011( + __action1034( __0, __1, __2, @@ -54924,7 +56711,7 @@ fn __action1337< } #[allow(clippy::too_many_arguments)] -fn __action1338< +fn __action1369< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54935,12 +56722,12 @@ fn __action1338< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1012( + __action1035( __0, __1, __2, @@ -54951,7 +56738,7 @@ fn __action1338< } #[allow(clippy::too_many_arguments)] -fn __action1339< +fn __action1370< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54961,12 +56748,12 @@ fn __action1339< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1013( + __action1036( __0, __1, __2, @@ -54976,7 +56763,7 @@ fn __action1339< } #[allow(clippy::too_many_arguments)] -fn __action1340< +fn __action1371< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -54988,12 +56775,12 @@ fn __action1340< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1014( + __action1037( __0, __1, __2, @@ -55005,7 +56792,7 @@ fn __action1340< } #[allow(clippy::too_many_arguments)] -fn __action1341< +fn __action1372< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55016,12 +56803,12 @@ fn __action1341< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1015( + __action1038( __0, __1, __2, @@ -55032,7 +56819,7 @@ fn __action1341< } #[allow(clippy::too_many_arguments)] -fn __action1342< +fn __action1373< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55040,12 +56827,12 @@ fn __action1342< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1016( + __action1039( __0, __1, __temp0, @@ -55053,7 +56840,7 @@ fn __action1342< } #[allow(clippy::too_many_arguments)] -fn __action1343< +fn __action1374< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55065,12 +56852,12 @@ fn __action1343< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1017( + __action1040( __0, __1, __2, @@ -55082,7 +56869,7 @@ fn __action1343< } #[allow(clippy::too_many_arguments)] -fn __action1344< +fn __action1375< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55093,12 +56880,12 @@ fn __action1344< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1018( + __action1041( __0, __1, __2, @@ -55109,7 +56896,7 @@ fn __action1344< } #[allow(clippy::too_many_arguments)] -fn __action1345< +fn __action1376< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55122,12 +56909,12 @@ fn __action1345< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1019( + __action1042( __0, __1, __2, @@ -55140,7 +56927,7 @@ fn __action1345< } #[allow(clippy::too_many_arguments)] -fn __action1346< +fn __action1377< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55152,12 +56939,12 @@ fn __action1346< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1020( + __action1043( __0, __1, __2, @@ -55169,7 +56956,7 @@ fn __action1346< } #[allow(clippy::too_many_arguments)] -fn __action1347< +fn __action1378< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55179,12 +56966,12 @@ fn __action1347< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1021( + __action1044( __0, __1, __2, @@ -55194,7 +56981,7 @@ fn __action1347< } #[allow(clippy::too_many_arguments)] -fn __action1348< +fn __action1379< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55203,12 +56990,12 @@ fn __action1348< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1022( + __action1045( __0, __1, __2, @@ -55217,7 +57004,7 @@ fn __action1348< } #[allow(clippy::too_many_arguments)] -fn __action1349< +fn __action1380< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55228,12 +57015,12 @@ fn __action1349< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1023( + __action1046( __0, __1, __2, @@ -55244,7 +57031,7 @@ fn __action1349< } #[allow(clippy::too_many_arguments)] -fn __action1350< +fn __action1381< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55254,12 +57041,12 @@ fn __action1350< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1024( + __action1047( __0, __1, __2, @@ -55269,26 +57056,26 @@ fn __action1350< } #[allow(clippy::too_many_arguments)] -fn __action1351< +fn __action1382< >( __0: (TextSize, (Vec, Vec), TextSize), ) -> Result> { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1025( + __action1048( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1352< +fn __action1383< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55298,12 +57085,12 @@ fn __action1352< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action843( + __action859( __0, __1, __2, @@ -55313,7 +57100,7 @@ fn __action1352< } #[allow(clippy::too_many_arguments)] -fn __action1353< +fn __action1384< >( __0: (TextSize, (Vec, Vec), TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55322,12 +57109,12 @@ fn __action1353< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action844( + __action860( __0, __1, __2, @@ -55336,7 +57123,7 @@ fn __action1353< } #[allow(clippy::too_many_arguments)] -fn __action1354< +fn __action1385< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55347,12 +57134,12 @@ fn __action1354< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action984( + __action1007( __0, __1, __2, @@ -55363,7 +57150,7 @@ fn __action1354< } #[allow(clippy::too_many_arguments)] -fn __action1355< +fn __action1386< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55373,12 +57160,12 @@ fn __action1355< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action985( + __action1008( __0, __1, __2, @@ -55388,7 +57175,7 @@ fn __action1355< } #[allow(clippy::too_many_arguments)] -fn __action1356< +fn __action1387< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55400,12 +57187,12 @@ fn __action1356< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action986( + __action1009( __0, __1, __2, @@ -55417,7 +57204,7 @@ fn __action1356< } #[allow(clippy::too_many_arguments)] -fn __action1357< +fn __action1388< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55428,12 +57215,12 @@ fn __action1357< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action987( + __action1010( __0, __1, __2, @@ -55444,7 +57231,7 @@ fn __action1357< } #[allow(clippy::too_many_arguments)] -fn __action1358< +fn __action1389< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55453,12 +57240,12 @@ fn __action1358< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action988( + __action1011( __0, __1, __2, @@ -55467,7 +57254,7 @@ fn __action1358< } #[allow(clippy::too_many_arguments)] -fn __action1359< +fn __action1390< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55475,12 +57262,12 @@ fn __action1359< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action989( + __action1012( __0, __1, __temp0, @@ -55488,7 +57275,7 @@ fn __action1359< } #[allow(clippy::too_many_arguments)] -fn __action1360< +fn __action1391< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55498,12 +57285,12 @@ fn __action1360< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action990( + __action1013( __0, __1, __2, @@ -55513,7 +57300,7 @@ fn __action1360< } #[allow(clippy::too_many_arguments)] -fn __action1361< +fn __action1392< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55522,12 +57309,12 @@ fn __action1361< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action991( + __action1014( __0, __1, __2, @@ -55536,7 +57323,7 @@ fn __action1361< } #[allow(clippy::too_many_arguments)] -fn __action1362< +fn __action1393< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55546,12 +57333,12 @@ fn __action1362< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action992( + __action1015( __0, __1, __2, @@ -55561,7 +57348,7 @@ fn __action1362< } #[allow(clippy::too_many_arguments)] -fn __action1363< +fn __action1394< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55570,12 +57357,12 @@ fn __action1363< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action993( + __action1016( __0, __1, __2, @@ -55584,7 +57371,7 @@ fn __action1363< } #[allow(clippy::too_many_arguments)] -fn __action1364< +fn __action1395< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55595,12 +57382,12 @@ fn __action1364< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action994( + __action1017( __0, __1, __2, @@ -55611,7 +57398,7 @@ fn __action1364< } #[allow(clippy::too_many_arguments)] -fn __action1365< +fn __action1396< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55621,12 +57408,12 @@ fn __action1365< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action995( + __action1018( __0, __1, __2, @@ -55636,7 +57423,7 @@ fn __action1365< } #[allow(clippy::too_many_arguments)] -fn __action1366< +fn __action1397< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55644,12 +57431,12 @@ fn __action1366< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action996( + __action1019( __0, __1, __temp0, @@ -55657,26 +57444,26 @@ fn __action1366< } #[allow(clippy::too_many_arguments)] -fn __action1367< +fn __action1398< >( __0: (TextSize, token::Tok, TextSize), ) -> Result> { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action997( + __action1020( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1368< +fn __action1399< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -55685,12 +57472,12 @@ fn __action1368< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action998( + __action1021( __0, __1, __2, @@ -55699,7 +57486,7 @@ fn __action1368< } #[allow(clippy::too_many_arguments)] -fn __action1369< +fn __action1400< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -55707,12 +57494,12 @@ fn __action1369< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action999( + __action1022( __0, __1, __temp0, @@ -55720,7 +57507,7 @@ fn __action1369< } #[allow(clippy::too_many_arguments)] -fn __action1370< +fn __action1401< >( __0: (TextSize, Option>, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55728,12 +57515,12 @@ fn __action1370< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action847( + __action863( __0, __1, __temp0, @@ -55741,26 +57528,26 @@ fn __action1370< } #[allow(clippy::too_many_arguments)] -fn __action1371< +fn __action1402< >( __0: (TextSize, Option>, TextSize), ) -> ast::Arguments { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action848( + __action864( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1372< +fn __action1403< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -55769,12 +57556,12 @@ fn __action1372< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action861( + __action877( __0, __1, __2, @@ -55783,26 +57570,26 @@ fn __action1372< } #[allow(clippy::too_many_arguments)] -fn __action1373< +fn __action1404< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action862( + __action878( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1374< +fn __action1405< >( __0: (TextSize, ast::Pattern, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55810,12 +57597,12 @@ fn __action1374< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action863( + __action879( __0, __1, __temp0, @@ -55823,7 +57610,7 @@ fn __action1374< } #[allow(clippy::too_many_arguments)] -fn __action1375< +fn __action1406< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55831,12 +57618,12 @@ fn __action1375< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action864( + __action880( __0, __1, __temp0, @@ -55844,26 +57631,26 @@ fn __action1375< } #[allow(clippy::too_many_arguments)] -fn __action1376< +fn __action1407< >( __0: (TextSize, Vec, TextSize), ) -> ast::Pattern { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action865( + __action881( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1377< +fn __action1408< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55872,12 +57659,12 @@ fn __action1377< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action866( + __action882( __0, __1, __2, @@ -55886,7 +57673,7 @@ fn __action1377< } #[allow(clippy::too_many_arguments)] -fn __action1378< +fn __action1409< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -55895,12 +57682,12 @@ fn __action1378< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action867( + __action883( __0, __1, __2, @@ -55909,26 +57696,26 @@ fn __action1378< } #[allow(clippy::too_many_arguments)] -fn __action1379< +fn __action1410< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action868( + __action884( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1380< +fn __action1411< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -55938,12 +57725,12 @@ fn __action1380< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1093( + __action1118( __0, __1, __2, @@ -55953,7 +57740,7 @@ fn __action1380< } #[allow(clippy::too_many_arguments)] -fn __action1381< +fn __action1412< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -55961,12 +57748,12 @@ fn __action1381< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1094( + __action1119( __0, __1, __temp0, @@ -55974,7 +57761,7 @@ fn __action1381< } #[allow(clippy::too_many_arguments)] -fn __action1382< +fn __action1413< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -55983,12 +57770,12 @@ fn __action1382< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action870( + __action886( __0, __1, __2, @@ -55997,7 +57784,7 @@ fn __action1382< } #[allow(clippy::too_many_arguments)] -fn __action1383< +fn __action1414< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56005,12 +57792,12 @@ fn __action1383< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action871( + __action887( __0, __1, __temp0, @@ -56018,7 +57805,7 @@ fn __action1383< } #[allow(clippy::too_many_arguments)] -fn __action1384< +fn __action1415< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -56028,12 +57815,12 @@ fn __action1384< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action872( + __action888( __0, __1, __2, @@ -56043,7 +57830,7 @@ fn __action1384< } #[allow(clippy::too_many_arguments)] -fn __action1385< +fn __action1416< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -56054,12 +57841,12 @@ fn __action1385< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action873( + __action889( __0, __1, __2, @@ -56070,7 +57857,7 @@ fn __action1385< } #[allow(clippy::too_many_arguments)] -fn __action1386< +fn __action1417< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -56080,12 +57867,12 @@ fn __action1386< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action874( + __action890( __0, __1, __2, @@ -56095,7 +57882,7 @@ fn __action1386< } #[allow(clippy::too_many_arguments)] -fn __action1387< +fn __action1418< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -56104,12 +57891,12 @@ fn __action1387< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action875( + __action891( __0, __1, __2, @@ -56118,7 +57905,7 @@ fn __action1387< } #[allow(clippy::too_many_arguments)] -fn __action1388< +fn __action1419< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56127,12 +57914,12 @@ fn __action1388< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action876( + __action892( __0, __1, __2, @@ -56141,7 +57928,7 @@ fn __action1388< } #[allow(clippy::too_many_arguments)] -fn __action1389< +fn __action1420< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56150,12 +57937,12 @@ fn __action1389< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action877( + __action893( __0, __1, __2, @@ -56164,7 +57951,7 @@ fn __action1389< } #[allow(clippy::too_many_arguments)] -fn __action1390< +fn __action1421< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56176,12 +57963,12 @@ fn __action1390< { let __start0 = __5.2; let __end0 = __5.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action878( + __action894( __0, __1, __2, @@ -56193,7 +57980,7 @@ fn __action1390< } #[allow(clippy::too_many_arguments)] -fn __action1391< +fn __action1422< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56204,12 +57991,12 @@ fn __action1391< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action879( + __action895( __0, __1, __2, @@ -56220,7 +58007,7 @@ fn __action1391< } #[allow(clippy::too_many_arguments)] -fn __action1392< +fn __action1423< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56228,12 +58015,12 @@ fn __action1392< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action881( + __action897( __0, __1, __temp0, @@ -56241,7 +58028,7 @@ fn __action1392< } #[allow(clippy::too_many_arguments)] -fn __action1393< +fn __action1424< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -56249,12 +58036,12 @@ fn __action1393< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action882( + __action898( __0, __1, __temp0, @@ -56262,7 +58049,7 @@ fn __action1393< } #[allow(clippy::too_many_arguments)] -fn __action1394< +fn __action1425< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56271,12 +58058,12 @@ fn __action1394< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1058( + __action1083( __0, __1, __2, @@ -56285,45 +58072,45 @@ fn __action1394< } #[allow(clippy::too_many_arguments)] -fn __action1395< +fn __action1426< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1059( + __action1084( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1396< +fn __action1427< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::Arg { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action884( + __action900( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1397< +fn __action1428< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56333,12 +58120,12 @@ fn __action1397< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action885( + __action901( __0, __1, __2, @@ -56348,26 +58135,26 @@ fn __action1397< } #[allow(clippy::too_many_arguments)] -fn __action1398< +fn __action1429< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action886( + __action902( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1399< +fn __action1430< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56375,12 +58162,12 @@ fn __action1399< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action887( + __action903( __0, __1, __temp0, @@ -56388,7 +58175,7 @@ fn __action1399< } #[allow(clippy::too_many_arguments)] -fn __action1400< +fn __action1431< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56396,12 +58183,12 @@ fn __action1400< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action888( + __action904( __0, __1, __temp0, @@ -56409,26 +58196,26 @@ fn __action1400< } #[allow(clippy::too_many_arguments)] -fn __action1401< +fn __action1432< >( __0: (TextSize, Vec, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action889( + __action905( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1402< +fn __action1433< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56437,12 +58224,12 @@ fn __action1402< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action890( + __action906( __0, __1, __2, @@ -56451,7 +58238,7 @@ fn __action1402< } #[allow(clippy::too_many_arguments)] -fn __action1403< +fn __action1434< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -56460,12 +58247,12 @@ fn __action1403< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action891( + __action907( __0, __1, __2, @@ -56474,7 +58261,7 @@ fn __action1403< } #[allow(clippy::too_many_arguments)] -fn __action1404< +fn __action1435< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56485,12 +58272,12 @@ fn __action1404< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action892( + __action908( __0, __1, __2, @@ -56501,7 +58288,7 @@ fn __action1404< } #[allow(clippy::too_many_arguments)] -fn __action1405< +fn __action1436< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56512,12 +58299,12 @@ fn __action1405< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action893( + __action909( __0, __1, __2, @@ -56528,7 +58315,7 @@ fn __action1405< } #[allow(clippy::too_many_arguments)] -fn __action1406< +fn __action1437< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -56536,12 +58323,12 @@ fn __action1406< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action894( + __action910( __0, __1, __temp0, @@ -56549,7 +58336,7 @@ fn __action1406< } #[allow(clippy::too_many_arguments)] -fn __action1407< +fn __action1438< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Suite, TextSize), @@ -56557,12 +58344,12 @@ fn __action1407< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action895( + __action911( __0, __1, __temp0, @@ -56570,7 +58357,7 @@ fn __action1407< } #[allow(clippy::too_many_arguments)] -fn __action1408< +fn __action1439< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56578,12 +58365,12 @@ fn __action1408< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1062( + __action1087( __0, __1, __temp0, @@ -56591,7 +58378,7 @@ fn __action1408< } #[allow(clippy::too_many_arguments)] -fn __action1409< +fn __action1440< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -56600,12 +58387,12 @@ fn __action1409< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1063( + __action1088( __0, __1, __2, @@ -56614,7 +58401,7 @@ fn __action1409< } #[allow(clippy::too_many_arguments)] -fn __action1410< +fn __action1441< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56630,12 +58417,12 @@ fn __action1410< { let __start0 = __9.2; let __end0 = __9.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1084( + __action1109( __0, __1, __2, @@ -56651,7 +58438,7 @@ fn __action1410< } #[allow(clippy::too_many_arguments)] -fn __action1411< +fn __action1442< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56664,12 +58451,12 @@ fn __action1411< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1085( + __action1110( __0, __1, __2, @@ -56682,7 +58469,7 @@ fn __action1411< } #[allow(clippy::too_many_arguments)] -fn __action1412< +fn __action1443< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56695,12 +58482,12 @@ fn __action1412< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1086( + __action1111( __0, __1, __2, @@ -56713,7 +58500,7 @@ fn __action1412< } #[allow(clippy::too_many_arguments)] -fn __action1413< +fn __action1444< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56723,12 +58510,12 @@ fn __action1413< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1087( + __action1112( __0, __1, __2, @@ -56738,7 +58525,7 @@ fn __action1413< } #[allow(clippy::too_many_arguments)] -fn __action1414< +fn __action1445< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56754,12 +58541,12 @@ fn __action1414< { let __start0 = __9.2; let __end0 = __9.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1088( + __action1113( __0, __1, __2, @@ -56775,7 +58562,7 @@ fn __action1414< } #[allow(clippy::too_many_arguments)] -fn __action1415< +fn __action1446< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56788,12 +58575,12 @@ fn __action1415< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1089( + __action1114( __0, __1, __2, @@ -56806,7 +58593,7 @@ fn __action1415< } #[allow(clippy::too_many_arguments)] -fn __action1416< +fn __action1447< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56819,12 +58606,12 @@ fn __action1416< { let __start0 = __6.2; let __end0 = __6.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1090( + __action1115( __0, __1, __2, @@ -56837,7 +58624,7 @@ fn __action1416< } #[allow(clippy::too_many_arguments)] -fn __action1417< +fn __action1448< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56847,12 +58634,12 @@ fn __action1417< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1091( + __action1116( __0, __1, __2, @@ -56862,7 +58649,185 @@ fn __action1417< } #[allow(clippy::too_many_arguments)] -fn __action1418< +fn __action1449< +>( + __0: (TextSize, ast::Identifier, TextSize), +) -> ast::Expr +{ + let __start0 = __0.2; + let __end0 = __0.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action916( + __0, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1450< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Expr, TextSize), + __2: (TextSize, core::option::Option>, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ast::Expr, TextSize), +) -> ast::Stmt +{ + let __start0 = __4.2; + let __end0 = __4.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action917( + __0, + __1, + __2, + __3, + __4, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1451< +>( + __0: (TextSize, ast::Identifier, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Expr, TextSize), +) -> ast::TypeParam +{ + let __start0 = __2.2; + let __end0 = __2.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1078( + __0, + __1, + __2, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1452< +>( + __0: (TextSize, ast::Identifier, TextSize), +) -> ast::TypeParam +{ + let __start0 = __0.2; + let __end0 = __0.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1079( + __0, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1453< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), +) -> ast::TypeParam +{ + let __start0 = __1.2; + let __end0 = __1.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action919( + __0, + __1, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1454< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), +) -> ast::TypeParam +{ + let __start0 = __1.2; + let __end0 = __1.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action920( + __0, + __1, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1455< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, Vec, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, token::Tok, TextSize), +) -> Vec +{ + let __start0 = __3.2; + let __end0 = __3.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action921( + __0, + __1, + __2, + __3, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1456< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, Vec, TextSize), + __2: (TextSize, token::Tok, TextSize), +) -> Vec +{ + let __start0 = __2.2; + let __end0 = __2.2; + let __temp0 = __action383( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action922( + __0, + __1, + __2, + __temp0, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1457< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56871,12 +58836,12 @@ fn __action1418< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1055( + __action1080( __0, __1, __2, @@ -56885,83 +58850,83 @@ fn __action1418< } #[allow(clippy::too_many_arguments)] -fn __action1419< +fn __action1458< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::ArgWithDefault { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1056( + __action1081( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1420< +fn __action1459< >( __0: (TextSize, ast::Identifier, TextSize), ) -> ast::ArgWithDefault { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action901( + __action924( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1421< +fn __action1460< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Pattern { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action902( + __action925( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1422< +fn __action1461< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::WithItem { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action904( + __action927( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1423< +fn __action1462< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56970,12 +58935,12 @@ fn __action1423< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action905( + __action928( __0, __1, __2, @@ -56984,7 +58949,7 @@ fn __action1423< } #[allow(clippy::too_many_arguments)] -fn __action1424< +fn __action1463< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -56993,12 +58958,12 @@ fn __action1424< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action906( + __action929( __0, __1, __2, @@ -57007,26 +58972,26 @@ fn __action1424< } #[allow(clippy::too_many_arguments)] -fn __action1425< +fn __action1464< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::WithItem { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action907( + __action930( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1426< +fn __action1465< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57035,12 +59000,12 @@ fn __action1426< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action908( + __action931( __0, __1, __2, @@ -57049,26 +59014,26 @@ fn __action1426< } #[allow(clippy::too_many_arguments)] -fn __action1427< +fn __action1466< >( __0: (TextSize, Vec, TextSize), ) -> Vec { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action909( + __action932( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1428< +fn __action1467< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57077,12 +59042,12 @@ fn __action1428< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action912( + __action935( __0, __1, __2, @@ -57091,7 +59056,7 @@ fn __action1428< } #[allow(clippy::too_many_arguments)] -fn __action1429< +fn __action1468< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57100,12 +59065,12 @@ fn __action1429< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action913( + __action936( __0, __1, __2, @@ -57114,7 +59079,7 @@ fn __action1429< } #[allow(clippy::too_many_arguments)] -fn __action1430< +fn __action1469< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, core::option::Option, TextSize), @@ -57122,12 +59087,12 @@ fn __action1430< { let __start0 = __1.2; let __end0 = __1.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action914( + __action937( __0, __1, __temp0, @@ -57135,7 +59100,7 @@ fn __action1430< } #[allow(clippy::too_many_arguments)] -fn __action1431< +fn __action1470< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57144,12 +59109,12 @@ fn __action1431< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action372( + let __temp0 = __action383( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action915( + __action938( __0, __1, __2, @@ -57158,7 +59123,7 @@ fn __action1431< } #[allow(clippy::too_many_arguments)] -fn __action1432< +fn __action1471< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57166,18 +59131,18 @@ fn __action1432< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1427( + let __temp0 = __action1466( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action289( + __action300( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1433< +fn __action1472< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57187,11 +59152,11 @@ fn __action1433< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1427( + let __temp0 = __action1466( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action625( + __action638( __0, __temp0, __2, @@ -57200,7 +59165,7 @@ fn __action1433< } #[allow(clippy::too_many_arguments)] -fn __action1434< +fn __action1473< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57209,11 +59174,11 @@ fn __action1434< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1427( + let __temp0 = __action1466( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action626( + __action639( __0, __temp0, __2, @@ -57221,7 +59186,7 @@ fn __action1434< } #[allow(clippy::too_many_arguments)] -fn __action1435< +fn __action1474< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57229,18 +59194,18 @@ fn __action1435< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action1432( + let __temp0 = __action1471( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action287( + __action298( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1436< +fn __action1475< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57252,12 +59217,12 @@ fn __action1436< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1435( + let __temp0 = __action1474( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1041( + __action1064( __0, __temp0, __3, @@ -57267,7 +59232,7 @@ fn __action1436< } #[allow(clippy::too_many_arguments)] -fn __action1437< +fn __action1476< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57277,12 +59242,12 @@ fn __action1437< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action288( + let __temp0 = __action299( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1041( + __action1064( __0, __temp0, __1, @@ -57292,7 +59257,7 @@ fn __action1437< } #[allow(clippy::too_many_arguments)] -fn __action1438< +fn __action1477< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57305,12 +59270,12 @@ fn __action1438< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1435( + let __temp0 = __action1474( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1042( + __action1065( __0, __temp0, __3, @@ -57321,7 +59286,7 @@ fn __action1438< } #[allow(clippy::too_many_arguments)] -fn __action1439< +fn __action1478< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57332,12 +59297,12 @@ fn __action1439< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action288( + let __temp0 = __action299( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1042( + __action1065( __0, __temp0, __1, @@ -57348,7 +59313,7 @@ fn __action1439< } #[allow(clippy::too_many_arguments)] -fn __action1440< +fn __action1479< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57359,12 +59324,12 @@ fn __action1440< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1435( + let __temp0 = __action1474( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1043( + __action1066( __0, __temp0, __3, @@ -57373,7 +59338,7 @@ fn __action1440< } #[allow(clippy::too_many_arguments)] -fn __action1441< +fn __action1480< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57382,12 +59347,12 @@ fn __action1441< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action288( + let __temp0 = __action299( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1043( + __action1066( __0, __temp0, __1, @@ -57396,7 +59361,7 @@ fn __action1441< } #[allow(clippy::too_many_arguments)] -fn __action1442< +fn __action1481< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -57408,12 +59373,12 @@ fn __action1442< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1435( + let __temp0 = __action1474( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1044( + __action1067( __0, __temp0, __3, @@ -57423,7 +59388,7 @@ fn __action1442< } #[allow(clippy::too_many_arguments)] -fn __action1443< +fn __action1482< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::WithItem, TextSize), @@ -57433,12 +59398,12 @@ fn __action1443< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action288( + let __temp0 = __action299( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1044( + __action1067( __0, __temp0, __1, @@ -57448,24 +59413,24 @@ fn __action1443< } #[allow(clippy::too_many_arguments)] -fn __action1444< +fn __action1483< >( __0: (TextSize, (String, StringKind, bool), TextSize), ) -> alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1150( + let __temp0 = __action1175( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action314( + __action325( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1445< +fn __action1484< >( __0: (TextSize, alloc::vec::Vec<(TextSize, (String, StringKind, bool), TextSize)>, TextSize), __1: (TextSize, (String, StringKind, bool), TextSize), @@ -57473,18 +59438,18 @@ fn __action1445< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1150( + let __temp0 = __action1175( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action315( + __action326( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1446< +fn __action1485< >( __0: (TextSize, ast::CmpOp, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -57492,18 +59457,18 @@ fn __action1446< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action473( + let __temp0 = __action484( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action471( + __action482( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1447< +fn __action1486< >( __0: (TextSize, alloc::vec::Vec<(ast::CmpOp, ast::Expr)>, TextSize), __1: (TextSize, ast::CmpOp, TextSize), @@ -57512,36 +59477,36 @@ fn __action1447< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action473( + let __temp0 = __action484( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action472( + __action483( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1448< +fn __action1487< >( __0: (TextSize, ast::Expr, TextSize), ) -> core::option::Option { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action327( + let __temp0 = __action338( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action325( + __action336( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1449< +fn __action1488< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57552,11 +59517,11 @@ fn __action1449< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action1448( + let __temp0 = __action1487( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action818( + __action834( __0, __1, __temp0, @@ -57566,7 +59531,7 @@ fn __action1449< } #[allow(clippy::too_many_arguments)] -fn __action1450< +fn __action1489< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57576,12 +59541,12 @@ fn __action1450< { let __start0 = __1.2; let __end0 = __2.0; - let __temp0 = __action326( + let __temp0 = __action337( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action818( + __action834( __0, __1, __temp0, @@ -57591,24 +59556,24 @@ fn __action1450< } #[allow(clippy::too_many_arguments)] -fn __action1451< +fn __action1490< >( __0: (TextSize, ast::Arguments, TextSize), ) -> core::option::Option { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action265( + let __temp0 = __action274( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action263( + __action272( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1452< +fn __action1491< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arguments, TextSize), @@ -57617,11 +59582,11 @@ fn __action1452< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1451( + let __temp0 = __action1490( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1372( + __action1403( __0, __temp0, __2, @@ -57629,7 +59594,7 @@ fn __action1452< } #[allow(clippy::too_many_arguments)] -fn __action1453< +fn __action1492< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57637,12 +59602,12 @@ fn __action1453< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action264( + let __temp0 = __action273( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1372( + __action1403( __0, __temp0, __1, @@ -57650,26 +59615,26 @@ fn __action1453< } #[allow(clippy::too_many_arguments)] -fn __action1454< +fn __action1493< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action362( + let __temp0 = __action373( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1241( + __action1269( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1455< +fn __action1494< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -57677,18 +59642,18 @@ fn __action1455< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action363( + let __temp0 = __action374( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1241( + __action1269( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1456< +fn __action1495< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57698,11 +59663,11 @@ fn __action1456< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action357( + let __temp0 = __action368( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1243( + __action1271( __0, __1, __2, @@ -57711,7 +59676,7 @@ fn __action1456< } #[allow(clippy::too_many_arguments)] -fn __action1457< +fn __action1496< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57720,12 +59685,12 @@ fn __action1457< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action358( + let __temp0 = __action369( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1243( + __action1271( __0, __1, __2, @@ -57734,24 +59699,24 @@ fn __action1457< } #[allow(clippy::too_many_arguments)] -fn __action1458< +fn __action1497< >( __0: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), ) -> Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action421( + let __temp0 = __action432( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1105( + __action1130( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1459< +fn __action1498< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -57759,18 +59724,18 @@ fn __action1459< { let __start0 = *__lookbehind; let __end0 = *__lookahead; - let __temp0 = __action422( + let __temp0 = __action433( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1105( + __action1130( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1460< +fn __action1499< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -57778,54 +59743,54 @@ fn __action1460< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action421( + let __temp0 = __action432( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1106( + __action1131( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1461< +fn __action1500< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)> { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action422( + let __temp0 = __action433( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1106( + __action1131( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1462< +fn __action1501< >( __0: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1458( + let __temp0 = __action1497( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action216( + __action223( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1463< +fn __action1502< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -57833,18 +59798,18 @@ fn __action1463< { let __start0 = *__lookbehind; let __end0 = *__lookahead; - let __temp0 = __action1459( + let __temp0 = __action1498( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action216( + __action223( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1464< +fn __action1503< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), __1: (TextSize, (Option<(TextSize, TextSize, Option)>, ast::Expr), TextSize), @@ -57852,52 +59817,52 @@ fn __action1464< { let __start0 = __0.0; let __end0 = __1.2; - let __temp0 = __action1460( + let __temp0 = __action1499( __0, __1, ); let __temp0 = (__start0, __temp0, __end0); - __action216( + __action223( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1465< +fn __action1504< >( __0: (TextSize, alloc::vec::Vec<(Option<(TextSize, TextSize, Option)>, ast::Expr)>, TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1461( + let __temp0 = __action1500( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action216( + __action223( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1466< +fn __action1505< >( __0: (TextSize, ast::Pattern, TextSize), ) -> Vec { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action383( + let __temp0 = __action394( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1128( + __action1153( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1467< +fn __action1506< >( __lookbehind: &TextSize, __lookahead: &TextSize, @@ -57905,18 +59870,18 @@ fn __action1467< { let __start0 = *__lookbehind; let __end0 = *__lookahead; - let __temp0 = __action384( + let __temp0 = __action395( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1128( + __action1153( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1468< +fn __action1507< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57924,37 +59889,37 @@ fn __action1468< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action383( + let __temp0 = __action394( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1129( + __action1154( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1469< +fn __action1508< >( __0: (TextSize, alloc::vec::Vec, TextSize), ) -> Vec { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action384( + let __temp0 = __action395( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1129( + __action1154( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1470< +fn __action1509< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Pattern, TextSize), @@ -57963,11 +59928,11 @@ fn __action1470< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1466( + let __temp0 = __action1505( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1387( + __action1418( __0, __temp0, __2, @@ -57975,7 +59940,7 @@ fn __action1470< } #[allow(clippy::too_many_arguments)] -fn __action1471< +fn __action1510< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -57983,12 +59948,12 @@ fn __action1471< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action1467( + let __temp0 = __action1506( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1387( + __action1418( __0, __temp0, __1, @@ -57996,7 +59961,7 @@ fn __action1471< } #[allow(clippy::too_many_arguments)] -fn __action1472< +fn __action1511< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -58006,12 +59971,12 @@ fn __action1472< { let __start0 = __1.0; let __end0 = __2.2; - let __temp0 = __action1468( + let __temp0 = __action1507( __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1387( + __action1418( __0, __temp0, __3, @@ -58019,7 +59984,7 @@ fn __action1472< } #[allow(clippy::too_many_arguments)] -fn __action1473< +fn __action1512< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -58028,11 +59993,11 @@ fn __action1473< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1469( + let __temp0 = __action1508( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1387( + __action1418( __0, __temp0, __2, @@ -58040,7 +60005,7 @@ fn __action1473< } #[allow(clippy::too_many_arguments)] -fn __action1474< +fn __action1513< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, Vec, TextSize), @@ -58048,37 +60013,37 @@ fn __action1474< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action225( + let __temp0 = __action232( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1250( + __action1278( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1475< +fn __action1514< >( __0: (TextSize, ast::Expr, TextSize), ) -> (Option<(TextSize, TextSize, Option)>, ast::Expr) { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action226( + let __temp0 = __action233( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1250( + __action1278( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1476< +fn __action1515< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58089,12 +60054,12 @@ fn __action1476< { let __start0 = __4.2; let __end0 = __4.2; - let __temp0 = __action228( + let __temp0 = __action235( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1390( + __action1421( __0, __1, __2, @@ -58105,7 +60070,7 @@ fn __action1476< } #[allow(clippy::too_many_arguments)] -fn __action1477< +fn __action1516< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58117,11 +60082,11 @@ fn __action1477< { let __start0 = __5.0; let __end0 = __5.2; - let __temp0 = __action229( + let __temp0 = __action236( __5, ); let __temp0 = (__start0, __temp0, __end0); - __action1390( + __action1421( __0, __1, __2, @@ -58132,7 +60097,7 @@ fn __action1477< } #[allow(clippy::too_many_arguments)] -fn __action1478< +fn __action1517< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -58142,12 +60107,12 @@ fn __action1478< { let __start0 = __3.2; let __end0 = __3.2; - let __temp0 = __action228( + let __temp0 = __action235( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1391( + __action1422( __0, __1, __2, @@ -58157,7 +60122,7 @@ fn __action1478< } #[allow(clippy::too_many_arguments)] -fn __action1479< +fn __action1518< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -58168,11 +60133,11 @@ fn __action1479< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action229( + let __temp0 = __action236( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1391( + __action1422( __0, __1, __2, @@ -58182,25 +60147,26 @@ fn __action1479< } #[allow(clippy::too_many_arguments)] -fn __action1480< +fn __action1519< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), - __2: (TextSize, token::Tok, TextSize), - __3: (TextSize, ArgumentList, TextSize), - __4: (TextSize, token::Tok, TextSize), + __2: (TextSize, core::option::Option>, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ArgumentList, TextSize), __5: (TextSize, token::Tok, TextSize), - __6: (TextSize, ast::Suite, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action273( + let __temp0 = __action284( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action740( + __action753( __temp0, __0, __1, @@ -58209,29 +60175,31 @@ fn __action1480< __4, __5, __6, + __7, ) } #[allow(clippy::too_many_arguments)] -fn __action1481< +fn __action1520< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, token::Tok, TextSize), - __4: (TextSize, ArgumentList, TextSize), - __5: (TextSize, token::Tok, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ArgumentList, TextSize), __6: (TextSize, token::Tok, TextSize), - __7: (TextSize, ast::Suite, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action274( + let __temp0 = __action285( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action740( + __action753( __temp0, __1, __2, @@ -58240,80 +60208,86 @@ fn __action1481< __5, __6, __7, + __8, ) } #[allow(clippy::too_many_arguments)] -fn __action1482< +fn __action1521< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), - __2: (TextSize, token::Tok, TextSize), - __3: (TextSize, ast::Suite, TextSize), + __2: (TextSize, core::option::Option>, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action273( + let __temp0 = __action284( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action741( + __action754( __temp0, __0, __1, __2, __3, + __4, ) } #[allow(clippy::too_many_arguments)] -fn __action1483< +fn __action1522< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, token::Tok, TextSize), - __4: (TextSize, ast::Suite, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action274( + let __temp0 = __action285( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action741( + __action754( __temp0, __1, __2, __3, __4, + __5, ) } #[allow(clippy::too_many_arguments)] -fn __action1484< +fn __action1523< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, ast::Arguments, TextSize), - __4: (TextSize, token::Tok, TextSize), - __5: (TextSize, ast::Expr, TextSize), - __6: (TextSize, token::Tok, TextSize), - __7: (TextSize, ast::Suite, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Expr, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action273( + let __temp0 = __action284( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1046( + __action1069( __temp0, __0, __1, @@ -58323,30 +60297,32 @@ fn __action1484< __5, __6, __7, + __8, ) } #[allow(clippy::too_many_arguments)] -fn __action1485< +fn __action1524< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), - __4: (TextSize, ast::Arguments, TextSize), - __5: (TextSize, token::Tok, TextSize), - __6: (TextSize, ast::Expr, TextSize), - __7: (TextSize, token::Tok, TextSize), - __8: (TextSize, ast::Suite, TextSize), + __4: (TextSize, core::option::Option>, TextSize), + __5: (TextSize, ast::Arguments, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Expr, TextSize), + __8: (TextSize, token::Tok, TextSize), + __9: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action274( + let __temp0 = __action285( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1046( + __action1069( __temp0, __1, __2, @@ -58356,28 +60332,30 @@ fn __action1485< __6, __7, __8, + __9, ) } #[allow(clippy::too_many_arguments)] -fn __action1486< +fn __action1525< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, ast::Arguments, TextSize), - __4: (TextSize, token::Tok, TextSize), - __5: (TextSize, ast::Suite, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action273( + let __temp0 = __action284( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1047( + __action1070( __temp0, __0, __1, @@ -58385,28 +60363,30 @@ fn __action1486< __3, __4, __5, + __6, ) } #[allow(clippy::too_many_arguments)] -fn __action1487< +fn __action1526< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, token::Tok, TextSize), __3: (TextSize, ast::Identifier, TextSize), - __4: (TextSize, ast::Arguments, TextSize), - __5: (TextSize, token::Tok, TextSize), - __6: (TextSize, ast::Suite, TextSize), + __4: (TextSize, core::option::Option>, TextSize), + __5: (TextSize, ast::Arguments, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action274( + let __temp0 = __action285( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1047( + __action1070( __temp0, __1, __2, @@ -58414,29 +60394,31 @@ fn __action1487< __4, __5, __6, + __7, ) } #[allow(clippy::too_many_arguments)] -fn __action1488< +fn __action1527< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), - __2: (TextSize, ast::Arguments, TextSize), - __3: (TextSize, token::Tok, TextSize), - __4: (TextSize, ast::Expr, TextSize), - __5: (TextSize, token::Tok, TextSize), - __6: (TextSize, ast::Suite, TextSize), + __2: (TextSize, core::option::Option>, TextSize), + __3: (TextSize, ast::Arguments, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Expr, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action273( + let __temp0 = __action284( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1048( + __action1071( __temp0, __0, __1, @@ -58445,29 +60427,31 @@ fn __action1488< __4, __5, __6, + __7, ) } #[allow(clippy::too_many_arguments)] -fn __action1489< +fn __action1528< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, ast::Arguments, TextSize), - __4: (TextSize, token::Tok, TextSize), - __5: (TextSize, ast::Expr, TextSize), - __6: (TextSize, token::Tok, TextSize), - __7: (TextSize, ast::Suite, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Expr, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action274( + let __temp0 = __action285( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1048( + __action1071( __temp0, __1, __2, @@ -58476,65 +60460,70 @@ fn __action1489< __5, __6, __7, + __8, ) } #[allow(clippy::too_many_arguments)] -fn __action1490< +fn __action1529< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Identifier, TextSize), - __2: (TextSize, ast::Arguments, TextSize), - __3: (TextSize, token::Tok, TextSize), - __4: (TextSize, ast::Suite, TextSize), + __2: (TextSize, core::option::Option>, TextSize), + __3: (TextSize, ast::Arguments, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action273( + let __temp0 = __action284( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1049( + __action1072( __temp0, __0, __1, __2, __3, __4, + __5, ) } #[allow(clippy::too_many_arguments)] -fn __action1491< +fn __action1530< >( - __0: (TextSize, alloc::vec::Vec, TextSize), + __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, token::Tok, TextSize), __2: (TextSize, ast::Identifier, TextSize), - __3: (TextSize, ast::Arguments, TextSize), - __4: (TextSize, token::Tok, TextSize), - __5: (TextSize, ast::Suite, TextSize), + __3: (TextSize, core::option::Option>, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Suite, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action274( + let __temp0 = __action285( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1049( + __action1072( __temp0, __1, __2, __3, __4, __5, + __6, ) } #[allow(clippy::too_many_arguments)] -fn __action1492< +fn __action1531< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(Option>, ast::Expr)>, TextSize), @@ -58543,11 +60532,11 @@ fn __action1492< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action523( + let __temp0 = __action534( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1178( + __action1203( __0, __temp0, __2, @@ -58555,7 +60544,7 @@ fn __action1492< } #[allow(clippy::too_many_arguments)] -fn __action1493< +fn __action1532< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58563,12 +60552,12 @@ fn __action1493< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action524( + let __temp0 = __action535( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1178( + __action1203( __0, __temp0, __1, @@ -58576,7 +60565,7 @@ fn __action1493< } #[allow(clippy::too_many_arguments)] -fn __action1494< +fn __action1533< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec<(Option>, ast::Expr)>, TextSize), @@ -58585,11 +60574,11 @@ fn __action1494< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action523( + let __temp0 = __action534( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1201( + __action1226( __0, __temp0, __2, @@ -58597,7 +60586,7 @@ fn __action1494< } #[allow(clippy::too_many_arguments)] -fn __action1495< +fn __action1534< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58605,12 +60594,12 @@ fn __action1495< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action524( + let __temp0 = __action535( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1201( + __action1226( __0, __temp0, __1, @@ -58618,7 +60607,7 @@ fn __action1495< } #[allow(clippy::too_many_arguments)] -fn __action1496< +fn __action1535< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arg, TextSize), @@ -58626,37 +60615,37 @@ fn __action1496< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action457( + let __temp0 = __action468( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action395( + __action406( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1497< +fn __action1536< >( __0: (TextSize, token::Tok, TextSize), ) -> Option> { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action458( + let __temp0 = __action469( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action395( + __action406( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1498< +fn __action1537< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58665,36 +60654,36 @@ fn __action1498< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action1259( + let __temp0 = __action1288( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action349( + __action360( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1499< +fn __action1538< >( __0: (TextSize, ast::Identifier, TextSize), ) -> Vec { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1260( + let __temp0 = __action1289( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action349( + __action360( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1500< +fn __action1539< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58705,13 +60694,13 @@ fn __action1500< { let __start0 = __2.0; let __end0 = __4.2; - let __temp0 = __action1259( + let __temp0 = __action1288( __2, __3, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action350( + __action361( __0, __1, __temp0, @@ -58719,7 +60708,7 @@ fn __action1500< } #[allow(clippy::too_many_arguments)] -fn __action1501< +fn __action1540< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58728,11 +60717,11 @@ fn __action1501< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action1260( + let __temp0 = __action1289( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action350( + __action361( __0, __1, __temp0, @@ -58740,7 +60729,7 @@ fn __action1501< } #[allow(clippy::too_many_arguments)] -fn __action1502< +fn __action1541< >( __0: (TextSize, ast::Identifier, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58749,36 +60738,36 @@ fn __action1502< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action1261( + let __temp0 = __action1290( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action342( + __action353( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1503< +fn __action1542< >( __0: (TextSize, ast::Identifier, TextSize), ) -> Vec { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1262( + let __temp0 = __action1291( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action342( + __action353( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1504< +fn __action1543< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58789,13 +60778,13 @@ fn __action1504< { let __start0 = __2.0; let __end0 = __4.2; - let __temp0 = __action1261( + let __temp0 = __action1290( __2, __3, __4, ); let __temp0 = (__start0, __temp0, __end0); - __action343( + __action354( __0, __1, __temp0, @@ -58803,7 +60792,7 @@ fn __action1504< } #[allow(clippy::too_many_arguments)] -fn __action1505< +fn __action1544< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58812,11 +60801,11 @@ fn __action1505< { let __start0 = __2.0; let __end0 = __2.2; - let __temp0 = __action1262( + let __temp0 = __action1291( __2, ); let __temp0 = (__start0, __temp0, __end0); - __action343( + __action354( __0, __1, __temp0, @@ -58824,26 +60813,26 @@ fn __action1505< } #[allow(clippy::too_many_arguments)] -fn __action1506< +fn __action1545< >( __0: (TextSize, ast::Identifier, TextSize), ) -> (Option, Option) { let __start0 = __0.0; let __end0 = __0.0; - let __temp0 = __action347( + let __temp0 = __action358( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action59( + __action60( __temp0, __0, ) } #[allow(clippy::too_many_arguments)] -fn __action1507< +fn __action1546< >( __0: (TextSize, alloc::vec::Vec, TextSize), __1: (TextSize, ast::Identifier, TextSize), @@ -58851,18 +60840,18 @@ fn __action1507< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action348( + let __temp0 = __action359( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action59( + __action60( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1508< +fn __action1547< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -58871,11 +60860,11 @@ fn __action1508< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action531( + let __temp0 = __action542( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1163( + __action1188( __0, __temp0, __2, @@ -58883,7 +60872,7 @@ fn __action1508< } #[allow(clippy::too_many_arguments)] -fn __action1509< +fn __action1548< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58891,12 +60880,12 @@ fn __action1509< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action532( + let __temp0 = __action543( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1163( + __action1188( __0, __temp0, __1, @@ -58904,7 +60893,7 @@ fn __action1509< } #[allow(clippy::too_many_arguments)] -fn __action1510< +fn __action1549< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Vec, TextSize), @@ -58913,11 +60902,11 @@ fn __action1510< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action531( + let __temp0 = __action542( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1188( + __action1213( __0, __temp0, __2, @@ -58925,7 +60914,7 @@ fn __action1510< } #[allow(clippy::too_many_arguments)] -fn __action1511< +fn __action1550< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58933,12 +60922,12 @@ fn __action1511< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action532( + let __temp0 = __action543( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1188( + __action1213( __0, __temp0, __1, @@ -58946,7 +60935,7 @@ fn __action1511< } #[allow(clippy::too_many_arguments)] -fn __action1512< +fn __action1551< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58959,11 +60948,11 @@ fn __action1512< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1296( + __action1327( __temp0, __1, __2, @@ -58975,7 +60964,7 @@ fn __action1512< } #[allow(clippy::too_many_arguments)] -fn __action1513< +fn __action1552< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -58990,13 +60979,13 @@ fn __action1513< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1296( + __action1327( __temp0, __3, __4, @@ -59008,7 +60997,7 @@ fn __action1513< } #[allow(clippy::too_many_arguments)] -fn __action1514< +fn __action1553< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59024,14 +61013,14 @@ fn __action1514< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1296( + __action1327( __temp0, __4, __5, @@ -59043,7 +61032,7 @@ fn __action1514< } #[allow(clippy::too_many_arguments)] -fn __action1515< +fn __action1554< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59055,11 +61044,11 @@ fn __action1515< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1297( + __action1328( __temp0, __1, __2, @@ -59070,7 +61059,7 @@ fn __action1515< } #[allow(clippy::too_many_arguments)] -fn __action1516< +fn __action1555< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59084,13 +61073,13 @@ fn __action1516< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1297( + __action1328( __temp0, __3, __4, @@ -59101,7 +61090,7 @@ fn __action1516< } #[allow(clippy::too_many_arguments)] -fn __action1517< +fn __action1556< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59116,14 +61105,14 @@ fn __action1517< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1297( + __action1328( __temp0, __4, __5, @@ -59134,7 +61123,7 @@ fn __action1517< } #[allow(clippy::too_many_arguments)] -fn __action1518< +fn __action1557< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59148,11 +61137,11 @@ fn __action1518< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1298( + __action1329( __temp0, __1, __2, @@ -59165,7 +61154,7 @@ fn __action1518< } #[allow(clippy::too_many_arguments)] -fn __action1519< +fn __action1558< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59181,13 +61170,13 @@ fn __action1519< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1298( + __action1329( __temp0, __3, __4, @@ -59200,7 +61189,7 @@ fn __action1519< } #[allow(clippy::too_many_arguments)] -fn __action1520< +fn __action1559< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59217,14 +61206,14 @@ fn __action1520< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1298( + __action1329( __temp0, __4, __5, @@ -59237,7 +61226,7 @@ fn __action1520< } #[allow(clippy::too_many_arguments)] -fn __action1521< +fn __action1560< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59250,11 +61239,11 @@ fn __action1521< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1299( + __action1330( __temp0, __1, __2, @@ -59266,7 +61255,7 @@ fn __action1521< } #[allow(clippy::too_many_arguments)] -fn __action1522< +fn __action1561< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59281,13 +61270,13 @@ fn __action1522< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1299( + __action1330( __temp0, __3, __4, @@ -59299,7 +61288,7 @@ fn __action1522< } #[allow(clippy::too_many_arguments)] -fn __action1523< +fn __action1562< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59315,14 +61304,14 @@ fn __action1523< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1299( + __action1330( __temp0, __4, __5, @@ -59334,7 +61323,7 @@ fn __action1523< } #[allow(clippy::too_many_arguments)] -fn __action1524< +fn __action1563< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59345,11 +61334,11 @@ fn __action1524< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1300( + __action1331( __temp0, __1, __2, @@ -59359,7 +61348,7 @@ fn __action1524< } #[allow(clippy::too_many_arguments)] -fn __action1525< +fn __action1564< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59372,13 +61361,13 @@ fn __action1525< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1300( + __action1331( __temp0, __3, __4, @@ -59388,7 +61377,7 @@ fn __action1525< } #[allow(clippy::too_many_arguments)] -fn __action1526< +fn __action1565< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59402,14 +61391,14 @@ fn __action1526< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1300( + __action1331( __temp0, __4, __5, @@ -59419,7 +61408,7 @@ fn __action1526< } #[allow(clippy::too_many_arguments)] -fn __action1527< +fn __action1566< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59429,11 +61418,11 @@ fn __action1527< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1301( + __action1332( __temp0, __1, __2, @@ -59442,7 +61431,7 @@ fn __action1527< } #[allow(clippy::too_many_arguments)] -fn __action1528< +fn __action1567< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59454,13 +61443,13 @@ fn __action1528< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1301( + __action1332( __temp0, __3, __4, @@ -59469,7 +61458,7 @@ fn __action1528< } #[allow(clippy::too_many_arguments)] -fn __action1529< +fn __action1568< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59482,14 +61471,14 @@ fn __action1529< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1301( + __action1332( __temp0, __4, __5, @@ -59498,7 +61487,7 @@ fn __action1529< } #[allow(clippy::too_many_arguments)] -fn __action1530< +fn __action1569< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59510,11 +61499,11 @@ fn __action1530< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1302( + __action1333( __temp0, __1, __2, @@ -59525,7 +61514,7 @@ fn __action1530< } #[allow(clippy::too_many_arguments)] -fn __action1531< +fn __action1570< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59539,13 +61528,13 @@ fn __action1531< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1302( + __action1333( __temp0, __3, __4, @@ -59556,7 +61545,7 @@ fn __action1531< } #[allow(clippy::too_many_arguments)] -fn __action1532< +fn __action1571< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59571,14 +61560,14 @@ fn __action1532< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1302( + __action1333( __temp0, __4, __5, @@ -59589,7 +61578,7 @@ fn __action1532< } #[allow(clippy::too_many_arguments)] -fn __action1533< +fn __action1572< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59600,11 +61589,11 @@ fn __action1533< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1334( __temp0, __1, __2, @@ -59614,7 +61603,7 @@ fn __action1533< } #[allow(clippy::too_many_arguments)] -fn __action1534< +fn __action1573< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59627,13 +61616,13 @@ fn __action1534< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1334( __temp0, __3, __4, @@ -59643,7 +61632,7 @@ fn __action1534< } #[allow(clippy::too_many_arguments)] -fn __action1535< +fn __action1574< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59657,14 +61646,14 @@ fn __action1535< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1303( + __action1334( __temp0, __4, __5, @@ -59674,7 +61663,7 @@ fn __action1535< } #[allow(clippy::too_many_arguments)] -fn __action1536< +fn __action1575< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59682,18 +61671,18 @@ fn __action1536< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1335( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1537< +fn __action1576< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59703,20 +61692,20 @@ fn __action1537< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1335( __temp0, __3, ) } #[allow(clippy::too_many_arguments)] -fn __action1538< +fn __action1577< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59727,21 +61716,21 @@ fn __action1538< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1304( + __action1335( __temp0, __4, ) } #[allow(clippy::too_many_arguments)] -fn __action1539< +fn __action1578< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59753,11 +61742,11 @@ fn __action1539< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1336( __temp0, __1, __2, @@ -59768,7 +61757,7 @@ fn __action1539< } #[allow(clippy::too_many_arguments)] -fn __action1540< +fn __action1579< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59782,13 +61771,13 @@ fn __action1540< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1336( __temp0, __3, __4, @@ -59799,7 +61788,7 @@ fn __action1540< } #[allow(clippy::too_many_arguments)] -fn __action1541< +fn __action1580< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59814,14 +61803,14 @@ fn __action1541< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1305( + __action1336( __temp0, __4, __5, @@ -59832,7 +61821,7 @@ fn __action1541< } #[allow(clippy::too_many_arguments)] -fn __action1542< +fn __action1581< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59843,11 +61832,11 @@ fn __action1542< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1337( __temp0, __1, __2, @@ -59857,7 +61846,7 @@ fn __action1542< } #[allow(clippy::too_many_arguments)] -fn __action1543< +fn __action1582< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59870,13 +61859,13 @@ fn __action1543< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1337( __temp0, __3, __4, @@ -59886,7 +61875,7 @@ fn __action1543< } #[allow(clippy::too_many_arguments)] -fn __action1544< +fn __action1583< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59900,14 +61889,14 @@ fn __action1544< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1306( + __action1337( __temp0, __4, __5, @@ -59917,7 +61906,7 @@ fn __action1544< } #[allow(clippy::too_many_arguments)] -fn __action1545< +fn __action1584< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59930,11 +61919,11 @@ fn __action1545< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1338( __temp0, __1, __2, @@ -59946,7 +61935,7 @@ fn __action1545< } #[allow(clippy::too_many_arguments)] -fn __action1546< +fn __action1585< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59961,13 +61950,13 @@ fn __action1546< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1338( __temp0, __3, __4, @@ -59979,7 +61968,7 @@ fn __action1546< } #[allow(clippy::too_many_arguments)] -fn __action1547< +fn __action1586< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -59995,14 +61984,14 @@ fn __action1547< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1307( + __action1338( __temp0, __4, __5, @@ -60014,7 +62003,7 @@ fn __action1547< } #[allow(clippy::too_many_arguments)] -fn __action1548< +fn __action1587< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60026,11 +62015,11 @@ fn __action1548< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1339( __temp0, __1, __2, @@ -60041,7 +62030,7 @@ fn __action1548< } #[allow(clippy::too_many_arguments)] -fn __action1549< +fn __action1588< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60055,13 +62044,13 @@ fn __action1549< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1339( __temp0, __3, __4, @@ -60072,7 +62061,7 @@ fn __action1549< } #[allow(clippy::too_many_arguments)] -fn __action1550< +fn __action1589< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60087,14 +62076,14 @@ fn __action1550< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1308( + __action1339( __temp0, __4, __5, @@ -60105,7 +62094,7 @@ fn __action1550< } #[allow(clippy::too_many_arguments)] -fn __action1551< +fn __action1590< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60115,11 +62104,11 @@ fn __action1551< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1340( __temp0, __1, __2, @@ -60128,7 +62117,7 @@ fn __action1551< } #[allow(clippy::too_many_arguments)] -fn __action1552< +fn __action1591< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60140,13 +62129,13 @@ fn __action1552< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1340( __temp0, __3, __4, @@ -60155,7 +62144,7 @@ fn __action1552< } #[allow(clippy::too_many_arguments)] -fn __action1553< +fn __action1592< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60168,14 +62157,14 @@ fn __action1553< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1309( + __action1340( __temp0, __4, __5, @@ -60184,7 +62173,7 @@ fn __action1553< } #[allow(clippy::too_many_arguments)] -fn __action1554< +fn __action1593< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60193,11 +62182,11 @@ fn __action1554< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1341( __temp0, __1, __2, @@ -60205,7 +62194,7 @@ fn __action1554< } #[allow(clippy::too_many_arguments)] -fn __action1555< +fn __action1594< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60216,13 +62205,13 @@ fn __action1555< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1341( __temp0, __3, __4, @@ -60230,7 +62219,7 @@ fn __action1555< } #[allow(clippy::too_many_arguments)] -fn __action1556< +fn __action1595< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60242,14 +62231,14 @@ fn __action1556< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1310( + __action1341( __temp0, __4, __5, @@ -60257,7 +62246,7 @@ fn __action1556< } #[allow(clippy::too_many_arguments)] -fn __action1557< +fn __action1596< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60268,11 +62257,11 @@ fn __action1557< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1342( __temp0, __1, __2, @@ -60282,7 +62271,7 @@ fn __action1557< } #[allow(clippy::too_many_arguments)] -fn __action1558< +fn __action1597< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60295,13 +62284,13 @@ fn __action1558< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1342( __temp0, __3, __4, @@ -60311,7 +62300,7 @@ fn __action1558< } #[allow(clippy::too_many_arguments)] -fn __action1559< +fn __action1598< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60325,14 +62314,14 @@ fn __action1559< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1311( + __action1342( __temp0, __4, __5, @@ -60342,7 +62331,7 @@ fn __action1559< } #[allow(clippy::too_many_arguments)] -fn __action1560< +fn __action1599< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60352,11 +62341,11 @@ fn __action1560< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1343( __temp0, __1, __2, @@ -60365,7 +62354,7 @@ fn __action1560< } #[allow(clippy::too_many_arguments)] -fn __action1561< +fn __action1600< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60377,13 +62366,13 @@ fn __action1561< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1343( __temp0, __3, __4, @@ -60392,7 +62381,7 @@ fn __action1561< } #[allow(clippy::too_many_arguments)] -fn __action1562< +fn __action1601< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60405,14 +62394,14 @@ fn __action1562< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1312( + __action1343( __temp0, __4, __5, @@ -60421,24 +62410,24 @@ fn __action1562< } #[allow(clippy::too_many_arguments)] -fn __action1563< +fn __action1602< >( __0: (TextSize, Vec, TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1344( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1564< +fn __action1603< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60447,19 +62436,19 @@ fn __action1564< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1344( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1565< +fn __action1604< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60469,20 +62458,20 @@ fn __action1565< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1313( + __action1344( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1566< +fn __action1605< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60492,11 +62481,11 @@ fn __action1566< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1345( __temp0, __1, __2, @@ -60505,7 +62494,7 @@ fn __action1566< } #[allow(clippy::too_many_arguments)] -fn __action1567< +fn __action1606< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60517,13 +62506,13 @@ fn __action1567< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1345( __temp0, __3, __4, @@ -60532,7 +62521,7 @@ fn __action1567< } #[allow(clippy::too_many_arguments)] -fn __action1568< +fn __action1607< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60545,14 +62534,14 @@ fn __action1568< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1314( + __action1345( __temp0, __4, __5, @@ -60561,7 +62550,7 @@ fn __action1568< } #[allow(clippy::too_many_arguments)] -fn __action1569< +fn __action1608< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60570,11 +62559,11 @@ fn __action1569< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action400( + let __temp0 = __action411( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1346( __temp0, __1, __2, @@ -60582,7 +62571,7 @@ fn __action1569< } #[allow(clippy::too_many_arguments)] -fn __action1570< +fn __action1609< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60593,13 +62582,13 @@ fn __action1570< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action660( + let __temp0 = __action673( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1346( __temp0, __3, __4, @@ -60607,7 +62596,7 @@ fn __action1570< } #[allow(clippy::too_many_arguments)] -fn __action1571< +fn __action1610< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60619,14 +62608,14 @@ fn __action1571< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action661( + let __temp0 = __action674( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1315( + __action1346( __temp0, __4, __5, @@ -60634,7 +62623,7 @@ fn __action1571< } #[allow(clippy::too_many_arguments)] -fn __action1572< +fn __action1611< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60647,11 +62636,11 @@ fn __action1572< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1334( + __action1365( __temp0, __1, __2, @@ -60663,7 +62652,7 @@ fn __action1572< } #[allow(clippy::too_many_arguments)] -fn __action1573< +fn __action1612< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60678,13 +62667,13 @@ fn __action1573< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1334( + __action1365( __temp0, __3, __4, @@ -60696,7 +62685,7 @@ fn __action1573< } #[allow(clippy::too_many_arguments)] -fn __action1574< +fn __action1613< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60712,14 +62701,14 @@ fn __action1574< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1334( + __action1365( __temp0, __4, __5, @@ -60731,7 +62720,7 @@ fn __action1574< } #[allow(clippy::too_many_arguments)] -fn __action1575< +fn __action1614< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60743,11 +62732,11 @@ fn __action1575< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1335( + __action1366( __temp0, __1, __2, @@ -60758,7 +62747,7 @@ fn __action1575< } #[allow(clippy::too_many_arguments)] -fn __action1576< +fn __action1615< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60772,13 +62761,13 @@ fn __action1576< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1335( + __action1366( __temp0, __3, __4, @@ -60789,7 +62778,7 @@ fn __action1576< } #[allow(clippy::too_many_arguments)] -fn __action1577< +fn __action1616< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60804,14 +62793,14 @@ fn __action1577< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1335( + __action1366( __temp0, __4, __5, @@ -60822,7 +62811,7 @@ fn __action1577< } #[allow(clippy::too_many_arguments)] -fn __action1578< +fn __action1617< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60836,11 +62825,11 @@ fn __action1578< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1336( + __action1367( __temp0, __1, __2, @@ -60853,7 +62842,7 @@ fn __action1578< } #[allow(clippy::too_many_arguments)] -fn __action1579< +fn __action1618< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60869,13 +62858,13 @@ fn __action1579< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1336( + __action1367( __temp0, __3, __4, @@ -60888,7 +62877,7 @@ fn __action1579< } #[allow(clippy::too_many_arguments)] -fn __action1580< +fn __action1619< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60905,14 +62894,14 @@ fn __action1580< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1336( + __action1367( __temp0, __4, __5, @@ -60925,7 +62914,7 @@ fn __action1580< } #[allow(clippy::too_many_arguments)] -fn __action1581< +fn __action1620< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60938,11 +62927,11 @@ fn __action1581< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1337( + __action1368( __temp0, __1, __2, @@ -60954,7 +62943,7 @@ fn __action1581< } #[allow(clippy::too_many_arguments)] -fn __action1582< +fn __action1621< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -60969,13 +62958,13 @@ fn __action1582< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1337( + __action1368( __temp0, __3, __4, @@ -60987,7 +62976,7 @@ fn __action1582< } #[allow(clippy::too_many_arguments)] -fn __action1583< +fn __action1622< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61003,14 +62992,14 @@ fn __action1583< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1337( + __action1368( __temp0, __4, __5, @@ -61022,7 +63011,7 @@ fn __action1583< } #[allow(clippy::too_many_arguments)] -fn __action1584< +fn __action1623< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61033,11 +63022,11 @@ fn __action1584< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1338( + __action1369( __temp0, __1, __2, @@ -61047,7 +63036,7 @@ fn __action1584< } #[allow(clippy::too_many_arguments)] -fn __action1585< +fn __action1624< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61060,13 +63049,13 @@ fn __action1585< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1338( + __action1369( __temp0, __3, __4, @@ -61076,7 +63065,7 @@ fn __action1585< } #[allow(clippy::too_many_arguments)] -fn __action1586< +fn __action1625< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61090,14 +63079,14 @@ fn __action1586< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1338( + __action1369( __temp0, __4, __5, @@ -61107,7 +63096,7 @@ fn __action1586< } #[allow(clippy::too_many_arguments)] -fn __action1587< +fn __action1626< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61117,11 +63106,11 @@ fn __action1587< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1339( + __action1370( __temp0, __1, __2, @@ -61130,7 +63119,7 @@ fn __action1587< } #[allow(clippy::too_many_arguments)] -fn __action1588< +fn __action1627< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61142,13 +63131,13 @@ fn __action1588< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1339( + __action1370( __temp0, __3, __4, @@ -61157,7 +63146,7 @@ fn __action1588< } #[allow(clippy::too_many_arguments)] -fn __action1589< +fn __action1628< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61170,14 +63159,14 @@ fn __action1589< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1339( + __action1370( __temp0, __4, __5, @@ -61186,7 +63175,7 @@ fn __action1589< } #[allow(clippy::too_many_arguments)] -fn __action1590< +fn __action1629< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61198,11 +63187,11 @@ fn __action1590< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1340( + __action1371( __temp0, __1, __2, @@ -61213,7 +63202,7 @@ fn __action1590< } #[allow(clippy::too_many_arguments)] -fn __action1591< +fn __action1630< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61227,13 +63216,13 @@ fn __action1591< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1340( + __action1371( __temp0, __3, __4, @@ -61244,7 +63233,7 @@ fn __action1591< } #[allow(clippy::too_many_arguments)] -fn __action1592< +fn __action1631< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61259,14 +63248,14 @@ fn __action1592< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1340( + __action1371( __temp0, __4, __5, @@ -61277,7 +63266,7 @@ fn __action1592< } #[allow(clippy::too_many_arguments)] -fn __action1593< +fn __action1632< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61288,11 +63277,11 @@ fn __action1593< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1372( __temp0, __1, __2, @@ -61302,7 +63291,7 @@ fn __action1593< } #[allow(clippy::too_many_arguments)] -fn __action1594< +fn __action1633< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61315,13 +63304,13 @@ fn __action1594< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1372( __temp0, __3, __4, @@ -61331,7 +63320,7 @@ fn __action1594< } #[allow(clippy::too_many_arguments)] -fn __action1595< +fn __action1634< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61345,14 +63334,14 @@ fn __action1595< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1341( + __action1372( __temp0, __4, __5, @@ -61362,7 +63351,7 @@ fn __action1595< } #[allow(clippy::too_many_arguments)] -fn __action1596< +fn __action1635< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61370,18 +63359,18 @@ fn __action1596< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1373( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1597< +fn __action1636< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61391,20 +63380,20 @@ fn __action1597< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1373( __temp0, __3, ) } #[allow(clippy::too_many_arguments)] -fn __action1598< +fn __action1637< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61415,21 +63404,21 @@ fn __action1598< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1342( + __action1373( __temp0, __4, ) } #[allow(clippy::too_many_arguments)] -fn __action1599< +fn __action1638< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61441,11 +63430,11 @@ fn __action1599< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1374( __temp0, __1, __2, @@ -61456,7 +63445,7 @@ fn __action1599< } #[allow(clippy::too_many_arguments)] -fn __action1600< +fn __action1639< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61470,13 +63459,13 @@ fn __action1600< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1374( __temp0, __3, __4, @@ -61487,7 +63476,7 @@ fn __action1600< } #[allow(clippy::too_many_arguments)] -fn __action1601< +fn __action1640< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61502,14 +63491,14 @@ fn __action1601< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1343( + __action1374( __temp0, __4, __5, @@ -61520,7 +63509,7 @@ fn __action1601< } #[allow(clippy::too_many_arguments)] -fn __action1602< +fn __action1641< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61531,11 +63520,11 @@ fn __action1602< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1375( __temp0, __1, __2, @@ -61545,7 +63534,7 @@ fn __action1602< } #[allow(clippy::too_many_arguments)] -fn __action1603< +fn __action1642< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61558,13 +63547,13 @@ fn __action1603< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1375( __temp0, __3, __4, @@ -61574,7 +63563,7 @@ fn __action1603< } #[allow(clippy::too_many_arguments)] -fn __action1604< +fn __action1643< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61588,14 +63577,14 @@ fn __action1604< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1344( + __action1375( __temp0, __4, __5, @@ -61605,7 +63594,7 @@ fn __action1604< } #[allow(clippy::too_many_arguments)] -fn __action1605< +fn __action1644< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61618,11 +63607,11 @@ fn __action1605< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1376( __temp0, __1, __2, @@ -61634,7 +63623,7 @@ fn __action1605< } #[allow(clippy::too_many_arguments)] -fn __action1606< +fn __action1645< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61649,13 +63638,13 @@ fn __action1606< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1376( __temp0, __3, __4, @@ -61667,7 +63656,7 @@ fn __action1606< } #[allow(clippy::too_many_arguments)] -fn __action1607< +fn __action1646< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61683,14 +63672,14 @@ fn __action1607< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1345( + __action1376( __temp0, __4, __5, @@ -61702,7 +63691,7 @@ fn __action1607< } #[allow(clippy::too_many_arguments)] -fn __action1608< +fn __action1647< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61714,11 +63703,11 @@ fn __action1608< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1377( __temp0, __1, __2, @@ -61729,7 +63718,7 @@ fn __action1608< } #[allow(clippy::too_many_arguments)] -fn __action1609< +fn __action1648< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61743,13 +63732,13 @@ fn __action1609< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1377( __temp0, __3, __4, @@ -61760,7 +63749,7 @@ fn __action1609< } #[allow(clippy::too_many_arguments)] -fn __action1610< +fn __action1649< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61775,14 +63764,14 @@ fn __action1610< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1346( + __action1377( __temp0, __4, __5, @@ -61793,7 +63782,7 @@ fn __action1610< } #[allow(clippy::too_many_arguments)] -fn __action1611< +fn __action1650< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61803,11 +63792,11 @@ fn __action1611< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1378( __temp0, __1, __2, @@ -61816,7 +63805,7 @@ fn __action1611< } #[allow(clippy::too_many_arguments)] -fn __action1612< +fn __action1651< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61828,13 +63817,13 @@ fn __action1612< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1378( __temp0, __3, __4, @@ -61843,7 +63832,7 @@ fn __action1612< } #[allow(clippy::too_many_arguments)] -fn __action1613< +fn __action1652< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61856,14 +63845,14 @@ fn __action1613< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1347( + __action1378( __temp0, __4, __5, @@ -61872,7 +63861,7 @@ fn __action1613< } #[allow(clippy::too_many_arguments)] -fn __action1614< +fn __action1653< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61881,11 +63870,11 @@ fn __action1614< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1379( __temp0, __1, __2, @@ -61893,7 +63882,7 @@ fn __action1614< } #[allow(clippy::too_many_arguments)] -fn __action1615< +fn __action1654< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61904,13 +63893,13 @@ fn __action1615< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1379( __temp0, __3, __4, @@ -61918,7 +63907,7 @@ fn __action1615< } #[allow(clippy::too_many_arguments)] -fn __action1616< +fn __action1655< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61930,14 +63919,14 @@ fn __action1616< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1348( + __action1379( __temp0, __4, __5, @@ -61945,7 +63934,7 @@ fn __action1616< } #[allow(clippy::too_many_arguments)] -fn __action1617< +fn __action1656< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61956,11 +63945,11 @@ fn __action1617< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1380( __temp0, __1, __2, @@ -61970,7 +63959,7 @@ fn __action1617< } #[allow(clippy::too_many_arguments)] -fn __action1618< +fn __action1657< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -61983,13 +63972,13 @@ fn __action1618< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1380( __temp0, __3, __4, @@ -61999,7 +63988,7 @@ fn __action1618< } #[allow(clippy::too_many_arguments)] -fn __action1619< +fn __action1658< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62013,14 +64002,14 @@ fn __action1619< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1349( + __action1380( __temp0, __4, __5, @@ -62030,7 +64019,7 @@ fn __action1619< } #[allow(clippy::too_many_arguments)] -fn __action1620< +fn __action1659< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62040,11 +64029,11 @@ fn __action1620< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1381( __temp0, __1, __2, @@ -62053,7 +64042,7 @@ fn __action1620< } #[allow(clippy::too_many_arguments)] -fn __action1621< +fn __action1660< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62065,13 +64054,13 @@ fn __action1621< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1381( __temp0, __3, __4, @@ -62080,7 +64069,7 @@ fn __action1621< } #[allow(clippy::too_many_arguments)] -fn __action1622< +fn __action1661< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62093,14 +64082,14 @@ fn __action1622< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1350( + __action1381( __temp0, __4, __5, @@ -62109,24 +64098,24 @@ fn __action1622< } #[allow(clippy::too_many_arguments)] -fn __action1623< +fn __action1662< >( __0: (TextSize, Vec, TextSize), ) -> Result> { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1382( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1624< +fn __action1663< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62135,19 +64124,19 @@ fn __action1624< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1382( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1625< +fn __action1664< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62157,20 +64146,20 @@ fn __action1625< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1351( + __action1382( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1626< +fn __action1665< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62180,11 +64169,11 @@ fn __action1626< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1383( __temp0, __1, __2, @@ -62193,7 +64182,7 @@ fn __action1626< } #[allow(clippy::too_many_arguments)] -fn __action1627< +fn __action1666< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62205,13 +64194,13 @@ fn __action1627< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1383( __temp0, __3, __4, @@ -62220,7 +64209,7 @@ fn __action1627< } #[allow(clippy::too_many_arguments)] -fn __action1628< +fn __action1667< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62233,14 +64222,14 @@ fn __action1628< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1352( + __action1383( __temp0, __4, __5, @@ -62249,7 +64238,7 @@ fn __action1628< } #[allow(clippy::too_many_arguments)] -fn __action1629< +fn __action1668< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62258,11 +64247,11 @@ fn __action1629< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action408( + let __temp0 = __action419( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1384( __temp0, __1, __2, @@ -62270,7 +64259,7 @@ fn __action1629< } #[allow(clippy::too_many_arguments)] -fn __action1630< +fn __action1669< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62281,13 +64270,13 @@ fn __action1630< { let __start0 = __0.0; let __end0 = __2.2; - let __temp0 = __action668( + let __temp0 = __action681( __0, __1, __2, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1384( __temp0, __3, __4, @@ -62295,7 +64284,7 @@ fn __action1630< } #[allow(clippy::too_many_arguments)] -fn __action1631< +fn __action1670< >( __0: (TextSize, Vec, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62307,14 +64296,14 @@ fn __action1631< { let __start0 = __0.0; let __end0 = __3.2; - let __temp0 = __action669( + let __temp0 = __action682( __0, __1, __2, __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1353( + __action1384( __temp0, __4, __5, @@ -62322,7 +64311,7 @@ fn __action1631< } #[allow(clippy::too_many_arguments)] -fn __action1632< +fn __action1671< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Arguments, TextSize), @@ -62332,11 +64321,11 @@ fn __action1632< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action248( + let __temp0 = __action255( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1269( + __action1298( __0, __temp0, __2, @@ -62345,7 +64334,7 @@ fn __action1632< } #[allow(clippy::too_many_arguments)] -fn __action1633< +fn __action1672< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62354,12 +64343,12 @@ fn __action1633< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action249( + let __temp0 = __action256( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1269( + __action1298( __0, __temp0, __1, @@ -62368,7 +64357,7 @@ fn __action1633< } #[allow(clippy::too_many_arguments)] -fn __action1634< +fn __action1673< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62378,11 +64367,11 @@ fn __action1634< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action244( + let __temp0 = __action251( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1397( + __action1428( __0, __1, __2, @@ -62391,7 +64380,7 @@ fn __action1634< } #[allow(clippy::too_many_arguments)] -fn __action1635< +fn __action1674< >( __0: (TextSize, core::option::Option, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62400,12 +64389,12 @@ fn __action1635< { let __start0 = __2.2; let __end0 = __2.2; - let __temp0 = __action245( + let __temp0 = __action252( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1397( + __action1428( __0, __1, __2, @@ -62414,7 +64403,7 @@ fn __action1635< } #[allow(clippy::too_many_arguments)] -fn __action1636< +fn __action1675< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62424,11 +64413,11 @@ fn __action1636< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action290( + let __temp0 = __action301( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action763( + __action778( __0, __temp0, __2, @@ -62437,7 +64426,7 @@ fn __action1636< } #[allow(clippy::too_many_arguments)] -fn __action1637< +fn __action1676< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62446,12 +64435,12 @@ fn __action1637< { let __start0 = __0.2; let __end0 = __1.0; - let __temp0 = __action291( + let __temp0 = __action302( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action763( + __action778( __0, __temp0, __1, @@ -62460,7 +64449,7 @@ fn __action1637< } #[allow(clippy::too_many_arguments)] -fn __action1638< +fn __action1677< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62468,37 +64457,37 @@ fn __action1638< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action290( + let __temp0 = __action301( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action880( + __action896( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1639< +fn __action1678< >( __0: (TextSize, token::Tok, TextSize), ) -> Option { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action291( + let __temp0 = __action302( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action880( + __action896( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1640< +fn __action1679< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62510,15 +64499,15 @@ fn __action1640< let __end0 = __0.2; let __start1 = __2.0; let __end1 = __2.2; - let __temp0 = __action290( + let __temp0 = __action301( __0, ); let __temp0 = (__start0, __temp0, __end0); - let __temp1 = __action290( + let __temp1 = __action301( __2, ); let __temp1 = (__start1, __temp1, __end1); - __action1634( + __action1673( __temp0, __1, __temp1, @@ -62527,7 +64516,7 @@ fn __action1640< } #[allow(clippy::too_many_arguments)] -fn __action1641< +fn __action1680< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62538,16 +64527,16 @@ fn __action1641< let __end0 = __0.2; let __start1 = __1.2; let __end1 = __2.0; - let __temp0 = __action290( + let __temp0 = __action301( __0, ); let __temp0 = (__start0, __temp0, __end0); - let __temp1 = __action291( + let __temp1 = __action302( &__start1, &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1634( + __action1673( __temp0, __1, __temp1, @@ -62556,7 +64545,7 @@ fn __action1641< } #[allow(clippy::too_many_arguments)] -fn __action1642< +fn __action1681< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62567,16 +64556,16 @@ fn __action1642< let __end0 = __0.0; let __start1 = __1.0; let __end1 = __1.2; - let __temp0 = __action291( + let __temp0 = __action302( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - let __temp1 = __action290( + let __temp1 = __action301( __1, ); let __temp1 = (__start1, __temp1, __end1); - __action1634( + __action1673( __temp0, __0, __temp1, @@ -62585,7 +64574,7 @@ fn __action1642< } #[allow(clippy::too_many_arguments)] -fn __action1643< +fn __action1682< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, Option, TextSize), @@ -62595,17 +64584,17 @@ fn __action1643< let __end0 = __0.0; let __start1 = __0.2; let __end1 = __1.0; - let __temp0 = __action291( + let __temp0 = __action302( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - let __temp1 = __action291( + let __temp1 = __action302( &__start1, &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1634( + __action1673( __temp0, __0, __temp1, @@ -62614,7 +64603,7 @@ fn __action1643< } #[allow(clippy::too_many_arguments)] -fn __action1644< +fn __action1683< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62625,15 +64614,15 @@ fn __action1644< let __end0 = __0.2; let __start1 = __2.0; let __end1 = __2.2; - let __temp0 = __action290( + let __temp0 = __action301( __0, ); let __temp0 = (__start0, __temp0, __end0); - let __temp1 = __action290( + let __temp1 = __action301( __2, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1674( __temp0, __1, __temp1, @@ -62641,7 +64630,7 @@ fn __action1644< } #[allow(clippy::too_many_arguments)] -fn __action1645< +fn __action1684< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62651,16 +64640,16 @@ fn __action1645< let __end0 = __0.2; let __start1 = __1.2; let __end1 = __1.2; - let __temp0 = __action290( + let __temp0 = __action301( __0, ); let __temp0 = (__start0, __temp0, __end0); - let __temp1 = __action291( + let __temp1 = __action302( &__start1, &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1674( __temp0, __1, __temp1, @@ -62668,7 +64657,7 @@ fn __action1645< } #[allow(clippy::too_many_arguments)] -fn __action1646< +fn __action1685< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62678,16 +64667,16 @@ fn __action1646< let __end0 = __0.0; let __start1 = __1.0; let __end1 = __1.2; - let __temp0 = __action291( + let __temp0 = __action302( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - let __temp1 = __action290( + let __temp1 = __action301( __1, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1674( __temp0, __0, __temp1, @@ -62695,7 +64684,7 @@ fn __action1646< } #[allow(clippy::too_many_arguments)] -fn __action1647< +fn __action1686< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr @@ -62704,17 +64693,17 @@ fn __action1647< let __end0 = __0.0; let __start1 = __0.2; let __end1 = __0.2; - let __temp0 = __action291( + let __temp0 = __action302( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - let __temp1 = __action291( + let __temp1 = __action302( &__start1, &__end1, ); let __temp1 = (__start1, __temp1, __end1); - __action1635( + __action1674( __temp0, __0, __temp1, @@ -62722,7 +64711,7 @@ fn __action1647< } #[allow(clippy::too_many_arguments)] -fn __action1648< +fn __action1687< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62738,11 +64727,11 @@ fn __action1648< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action210( + let __temp0 = __action217( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1070( + __action1095( __0, __1, __2, @@ -62757,7 +64746,7 @@ fn __action1648< } #[allow(clippy::too_many_arguments)] -fn __action1649< +fn __action1688< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, token::Tok, TextSize), @@ -62770,11 +64759,11 @@ fn __action1649< { let __start0 = __4.0; let __end0 = __4.2; - let __temp0 = __action210( + let __temp0 = __action217( __4, ); let __temp0 = (__start0, __temp0, __end0); - __action1071( + __action1096( __0, __1, __2, @@ -62786,7 +64775,7 @@ fn __action1649< } #[allow(clippy::too_many_arguments)] -fn __action1650< +fn __action1689< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62801,11 +64790,11 @@ fn __action1650< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action210( + let __temp0 = __action217( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1072( + __action1097( __0, __1, __2, @@ -62819,7 +64808,7 @@ fn __action1650< } #[allow(clippy::too_many_arguments)] -fn __action1651< +fn __action1690< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62831,11 +64820,11 @@ fn __action1651< { let __start0 = __3.0; let __end0 = __3.2; - let __temp0 = __action210( + let __temp0 = __action217( __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1073( + __action1098( __0, __1, __2, @@ -62846,58 +64835,58 @@ fn __action1651< } #[allow(clippy::too_many_arguments)] -fn __action1652< +fn __action1691< >( __0: (TextSize, ast::Expr, TextSize), ) -> core::option::Option { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action210( + let __temp0 = __action217( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action355( + __action366( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1653< +fn __action1692< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action210( + let __temp0 = __action217( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action28( + __action29( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1654< +fn __action1693< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Expr { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action210( + let __temp0 = __action217( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action30( + __action31( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1655< +fn __action1694< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62905,18 +64894,18 @@ fn __action1655< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action210( + let __temp0 = __action217( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1408( + __action1439( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1656< +fn __action1695< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62925,11 +64914,11 @@ fn __action1656< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action210( + let __temp0 = __action217( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1409( + __action1440( __0, __temp0, __2, @@ -62937,7 +64926,7 @@ fn __action1656< } #[allow(clippy::too_many_arguments)] -fn __action1657< +fn __action1696< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62945,37 +64934,37 @@ fn __action1657< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1652( + let __temp0 = __action1691( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1248( + __action1276( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1658< +fn __action1697< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Stmt { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action356( + let __temp0 = __action367( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1248( + __action1276( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1659< +fn __action1698< >( __0: (TextSize, token::Tok, TextSize), __1: (TextSize, ast::Expr, TextSize), @@ -62983,54 +64972,54 @@ fn __action1659< { let __start0 = __1.0; let __end0 = __1.2; - let __temp0 = __action1652( + let __temp0 = __action1691( __1, ); let __temp0 = (__start0, __temp0, __end0); - __action1430( + __action1469( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1660< +fn __action1699< >( __0: (TextSize, token::Tok, TextSize), ) -> ast::Expr { let __start0 = __0.2; let __end0 = __0.2; - let __temp0 = __action356( + let __temp0 = __action367( &__start0, &__end0, ); let __temp0 = (__start0, __temp0, __end0); - __action1430( + __action1469( __0, __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1661< +fn __action1700< >( __0: (TextSize, ast::Expr, TextSize), ) -> ast::Stmt { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1654( + let __temp0 = __action1693( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1454( + __action1493( __temp0, ) } #[allow(clippy::too_many_arguments)] -fn __action1662< +fn __action1701< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, alloc::vec::Vec, TextSize), @@ -63038,18 +65027,18 @@ fn __action1662< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1654( + let __temp0 = __action1693( __0, ); let __temp0 = (__start0, __temp0, __end0); - __action1455( + __action1494( __temp0, __1, ) } #[allow(clippy::too_many_arguments)] -fn __action1663< +fn __action1702< >( __0: (TextSize, ast::Expr, TextSize), __1: (TextSize, ast::Operator, TextSize), @@ -63058,14 +65047,792 @@ fn __action1663< { let __start0 = __0.0; let __end0 = __0.2; - let __temp0 = __action1654( + let __temp0 = __action1693( + __0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1270( + __temp0, + __1, + __2, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1703< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), + __2: (TextSize, Vec, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ArgumentList, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.0; + let __end0 = __2.2; + let __temp0 = __action282( + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1519( + __0, + __1, + __temp0, + __3, + __4, + __5, + __6, + __7, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1704< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ArgumentList, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __1.2; + let __end0 = __2.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1519( + __0, + __1, + __temp0, + __2, + __3, + __4, + __5, + __6, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1705< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, Vec, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ArgumentList, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __3.0; + let __end0 = __3.2; + let __temp0 = __action282( + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1520( + __0, + __1, + __2, + __temp0, + __4, + __5, + __6, + __7, + __8, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1706< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ArgumentList, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.2; + let __end0 = __3.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1520( + __0, + __1, + __2, + __temp0, + __3, + __4, + __5, + __6, + __7, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1707< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), + __2: (TextSize, Vec, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.0; + let __end0 = __2.2; + let __temp0 = __action282( + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1521( + __0, + __1, + __temp0, + __3, + __4, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1708< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __1.2; + let __end0 = __2.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1521( + __0, + __1, + __temp0, + __2, + __3, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1709< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, Vec, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __3.0; + let __end0 = __3.2; + let __temp0 = __action282( + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1522( + __0, + __1, + __2, + __temp0, + __4, + __5, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1710< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.2; + let __end0 = __3.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1522( + __0, + __1, + __2, + __temp0, + __3, + __4, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1711< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, Vec, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Expr, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __3.0; + let __end0 = __3.2; + let __temp0 = __action282( + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1523( + __0, + __1, + __2, + __temp0, + __4, + __5, + __6, + __7, + __8, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1712< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, ast::Arguments, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Expr, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.2; + let __end0 = __3.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1523( + __0, + __1, + __2, + __temp0, + __3, + __4, + __5, + __6, + __7, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1713< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::Identifier, TextSize), + __4: (TextSize, Vec, TextSize), + __5: (TextSize, ast::Arguments, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Expr, TextSize), + __8: (TextSize, token::Tok, TextSize), + __9: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __4.0; + let __end0 = __4.2; + let __temp0 = __action282( + __4, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1524( + __0, + __1, + __2, + __3, + __temp0, + __5, + __6, + __7, + __8, + __9, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1714< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::Identifier, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Expr, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __3.2; + let __end0 = __4.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1524( __0, + __1, + __2, + __3, + __temp0, + __4, + __5, + __6, + __7, + __8, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1715< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, Vec, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __3.0; + let __end0 = __3.2; + let __temp0 = __action282( + __3, ); let __temp0 = (__start0, __temp0, __end0); - __action1242( + __action1525( + __0, + __1, + __2, __temp0, + __4, + __5, + __6, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1716< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, ast::Arguments, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.2; + let __end0 = __3.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1525( + __0, __1, __2, + __temp0, + __3, + __4, + __5, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1717< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::Identifier, TextSize), + __4: (TextSize, Vec, TextSize), + __5: (TextSize, ast::Arguments, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __4.0; + let __end0 = __4.2; + let __temp0 = __action282( + __4, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1526( + __0, + __1, + __2, + __3, + __temp0, + __5, + __6, + __7, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1718< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::Identifier, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __3.2; + let __end0 = __4.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1526( + __0, + __1, + __2, + __3, + __temp0, + __4, + __5, + __6, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1719< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), + __2: (TextSize, Vec, TextSize), + __3: (TextSize, ast::Arguments, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Expr, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.0; + let __end0 = __2.2; + let __temp0 = __action282( + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1527( + __0, + __1, + __temp0, + __3, + __4, + __5, + __6, + __7, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1720< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), + __2: (TextSize, ast::Arguments, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ast::Expr, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __1.2; + let __end0 = __2.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1527( + __0, + __1, + __temp0, + __2, + __3, + __4, + __5, + __6, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1721< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, Vec, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Expr, TextSize), + __7: (TextSize, token::Tok, TextSize), + __8: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __3.0; + let __end0 = __3.2; + let __temp0 = __action282( + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1528( + __0, + __1, + __2, + __temp0, + __4, + __5, + __6, + __7, + __8, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1722< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, ast::Arguments, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Expr, TextSize), + __6: (TextSize, token::Tok, TextSize), + __7: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.2; + let __end0 = __3.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1528( + __0, + __1, + __2, + __temp0, + __3, + __4, + __5, + __6, + __7, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1723< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), + __2: (TextSize, Vec, TextSize), + __3: (TextSize, ast::Arguments, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.0; + let __end0 = __2.2; + let __temp0 = __action282( + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1529( + __0, + __1, + __temp0, + __3, + __4, + __5, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1724< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Identifier, TextSize), + __2: (TextSize, ast::Arguments, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __1.2; + let __end0 = __2.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1529( + __0, + __1, + __temp0, + __2, + __3, + __4, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1725< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, Vec, TextSize), + __4: (TextSize, ast::Arguments, TextSize), + __5: (TextSize, token::Tok, TextSize), + __6: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __3.0; + let __end0 = __3.2; + let __temp0 = __action282( + __3, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1530( + __0, + __1, + __2, + __temp0, + __4, + __5, + __6, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1726< +>( + __0: (TextSize, alloc::vec::Vec, TextSize), + __1: (TextSize, token::Tok, TextSize), + __2: (TextSize, ast::Identifier, TextSize), + __3: (TextSize, ast::Arguments, TextSize), + __4: (TextSize, token::Tok, TextSize), + __5: (TextSize, ast::Suite, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.2; + let __end0 = __3.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1530( + __0, + __1, + __2, + __temp0, + __3, + __4, + __5, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1727< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Expr, TextSize), + __2: (TextSize, Vec, TextSize), + __3: (TextSize, token::Tok, TextSize), + __4: (TextSize, ast::Expr, TextSize), +) -> ast::Stmt +{ + let __start0 = __2.0; + let __end0 = __2.2; + let __temp0 = __action282( + __2, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1450( + __0, + __1, + __temp0, + __3, + __4, + ) +} + +#[allow(clippy::too_many_arguments)] +fn __action1728< +>( + __0: (TextSize, token::Tok, TextSize), + __1: (TextSize, ast::Expr, TextSize), + __2: (TextSize, token::Tok, TextSize), + __3: (TextSize, ast::Expr, TextSize), +) -> ast::Stmt +{ + let __start0 = __1.2; + let __end0 = __2.0; + let __temp0 = __action283( + &__start0, + &__end0, + ); + let __temp0 = (__start0, __temp0, __end0); + __action1450( + __0, + __1, + __temp0, + __2, + __3, ) } #[allow(clippy::type_complexity)] diff --git a/parser/src/snapshots/rustpython_parser__context__tests__ann_assign_name.snap b/parser/src/snapshots/rustpython_parser__context__tests__ann_assign_name.snap index 9ef7e7d1..a9fef6a4 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__ann_assign_name.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__ann_assign_name.snap @@ -9,18 +9,14 @@ expression: parse_ast target: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), annotation: Name( ExprName { range: 3..6, - id: Identifier( - "int", - ), + id: "int", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_attribute.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_attribute.snap index 51d45cf3..93d0ad00 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_attribute.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_attribute.snap @@ -13,15 +13,14 @@ expression: parse_ast value: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), - attr: Identifier( - "y", - ), + attr: Identifier { + id: "y", + range: 2..3, + }, ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_for.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_for.snap index 26c7e5af..d3779056 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_for.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_for.snap @@ -9,9 +9,7 @@ expression: parse_ast target: Name( ExprName { range: 4..5, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_list.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_list.snap index df421275..cda4cd3f 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_list.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_list.snap @@ -14,18 +14,14 @@ expression: parse_ast Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), Name( ExprName { range: 4..5, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_list_comp.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_list_comp.snap index e45727a9..dabec649 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_list_comp.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_list_comp.snap @@ -10,9 +10,7 @@ expression: parse_ast Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -23,9 +21,7 @@ expression: parse_ast elt: Name( ExprName { range: 5..6, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), @@ -35,9 +31,7 @@ expression: parse_ast target: Name( ExprName { range: 11..12, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_name.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_name.snap index d947f5e9..2e347778 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_name.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_name.snap @@ -10,9 +10,7 @@ expression: parse_ast Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_named_expr.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_named_expr.snap index 46bdb5a2..bcb6e47f 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_named_expr.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_named_expr.snap @@ -12,9 +12,7 @@ expression: parse_ast target: Name( ExprName { range: 3..4, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_set_comp.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_set_comp.snap index 2688104a..16a9521b 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_set_comp.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_set_comp.snap @@ -10,9 +10,7 @@ expression: parse_ast Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -23,9 +21,7 @@ expression: parse_ast elt: Name( ExprName { range: 5..6, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), @@ -35,9 +31,7 @@ expression: parse_ast target: Name( ExprName { range: 11..12, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_starred.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_starred.snap index 7d589a2b..23ff1aad 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_starred.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_starred.snap @@ -14,9 +14,7 @@ expression: parse_ast Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -26,9 +24,7 @@ expression: parse_ast value: Name( ExprName { range: 5..6, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_subscript.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_subscript.snap index 520c44cd..cf21a8a7 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_subscript.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_subscript.snap @@ -13,18 +13,14 @@ expression: parse_ast value: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), slice: Name( ExprName { range: 2..3, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_tuple.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_tuple.snap index ca889e96..ed3a180d 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_tuple.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_tuple.snap @@ -14,18 +14,14 @@ expression: parse_ast Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), Name( ExprName { range: 4..5, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__assign_with.snap b/parser/src/snapshots/rustpython_parser__context__tests__assign_with.snap index 328a4c42..c0133d6f 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__assign_with.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__assign_with.snap @@ -22,9 +22,7 @@ expression: parse_ast Name( ExprName { range: 10..11, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_attribute.snap b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_attribute.snap index 8250db5f..c27f6287 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_attribute.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_attribute.snap @@ -12,15 +12,14 @@ expression: parse_ast value: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), - attr: Identifier( - "y", - ), + attr: Identifier { + id: "y", + range: 2..3, + }, ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_name.snap b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_name.snap index 42e9ed88..3c1740ac 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_name.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_name.snap @@ -9,9 +9,7 @@ expression: parse_ast target: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_subscript.snap b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_subscript.snap index 476b9c91..6c3c819c 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_subscript.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__aug_assign_subscript.snap @@ -12,18 +12,14 @@ expression: parse_ast value: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), slice: Name( ExprName { range: 2..3, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__del_attribute.snap b/parser/src/snapshots/rustpython_parser__context__tests__del_attribute.snap index 1de7d6bf..99dcc867 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__del_attribute.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__del_attribute.snap @@ -13,15 +13,14 @@ expression: parse_ast value: Name( ExprName { range: 4..5, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), - attr: Identifier( - "y", - ), + attr: Identifier { + id: "y", + range: 6..7, + }, ctx: Del, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__del_name.snap b/parser/src/snapshots/rustpython_parser__context__tests__del_name.snap index d87ac27b..7f215028 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__del_name.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__del_name.snap @@ -10,9 +10,7 @@ expression: parse_ast Name( ExprName { range: 4..5, - id: Identifier( - "x", - ), + id: "x", ctx: Del, }, ), diff --git a/parser/src/snapshots/rustpython_parser__context__tests__del_subscript.snap b/parser/src/snapshots/rustpython_parser__context__tests__del_subscript.snap index 067401c2..a863f42b 100644 --- a/parser/src/snapshots/rustpython_parser__context__tests__del_subscript.snap +++ b/parser/src/snapshots/rustpython_parser__context__tests__del_subscript.snap @@ -13,18 +13,14 @@ expression: parse_ast value: Name( ExprName { range: 4..5, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), slice: Name( ExprName { range: 6..7, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap index d13ceb57..6218c4a0 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap @@ -7,11 +7,12 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..23, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { - range: 6..16, + range: 5..17, posonlyargs: [], args: [], vararg: None, @@ -20,9 +21,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -32,9 +34,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -44,9 +47,10 @@ Ok( range: 15..16, def: Arg { range: 15..16, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 15..16, + }, annotation: None, type_comment: None, }, @@ -65,6 +69,7 @@ Ok( decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), ], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap index a228709a..ff447256 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap @@ -7,11 +7,12 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..29, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { - range: 6..22, + range: 5..23, posonlyargs: [], args: [], vararg: None, @@ -20,21 +21,23 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 9..10, + }, annotation: None, type_comment: None, }, default: None, }, ArgWithDefault { - range: 12..13, + range: 12..16, def: Arg { range: 12..13, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -51,12 +54,13 @@ Ok( ), }, ArgWithDefault { - range: 18..19, + range: 18..22, def: Arg { range: 18..19, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 18..19, + }, annotation: None, type_comment: None, }, @@ -85,6 +89,7 @@ Ok( decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), ], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_no_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args.snap index fa56b395..c824c0c5 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_no_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args.snap @@ -7,9 +7,10 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..13, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { range: 5..7, posonlyargs: [], @@ -28,6 +29,7 @@ Ok( decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), ], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap new file mode 100644 index 00000000..c824c0c5 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_no_args_with_ranges.snap @@ -0,0 +1,36 @@ +--- +source: parser/src/function.rs +expression: parse_ast +--- +Ok( + [ + FunctionDef( + StmtFunctionDef { + range: 0..13, + name: Identifier { + id: "f", + range: 4..5, + }, + args: Arguments { + range: 5..7, + posonlyargs: [], + args: [], + vararg: None, + kwonlyargs: [], + kwarg: None, + }, + body: [ + Pass( + StmtPass { + range: 9..13, + }, + ), + ], + decorator_list: [], + returns: None, + type_comment: None, + type_params: [], + }, + ), + ], +) diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap index 9ca2f2a5..3f165ae5 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap @@ -7,20 +7,22 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..32, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { - range: 6..25, + range: 5..26, posonlyargs: [], args: [ ArgWithDefault { range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -57,9 +61,10 @@ Ok( range: 18..19, def: Arg { range: 18..19, - arg: Identifier( - "d", - ), + arg: Identifier { + id: "d", + range: 18..19, + }, annotation: None, type_comment: None, }, @@ -69,9 +74,10 @@ Ok( range: 21..22, def: Arg { range: 21..22, - arg: Identifier( - "e", - ), + arg: Identifier { + id: "e", + range: 21..22, + }, annotation: None, type_comment: None, }, @@ -81,9 +87,10 @@ Ok( range: 24..25, def: Arg { range: 24..25, - arg: Identifier( - "f", - ), + arg: Identifier { + id: "f", + range: 24..25, + }, annotation: None, type_comment: None, }, @@ -102,6 +109,7 @@ Ok( decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), ], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap index af889e4d..8e4c9992 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap @@ -7,20 +7,22 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..38, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { - range: 6..31, + range: 5..32, posonlyargs: [], args: [ ArgWithDefault { range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -57,21 +61,23 @@ Ok( range: 18..19, def: Arg { range: 18..19, - arg: Identifier( - "d", - ), + arg: Identifier { + id: "d", + range: 18..19, + }, annotation: None, type_comment: None, }, default: None, }, ArgWithDefault { - range: 21..22, + range: 21..25, def: Arg { range: 21..22, - arg: Identifier( - "e", - ), + arg: Identifier { + id: "e", + range: 21..22, + }, annotation: None, type_comment: None, }, @@ -88,12 +94,13 @@ Ok( ), }, ArgWithDefault { - range: 27..28, + range: 27..31, def: Arg { range: 27..28, - arg: Identifier( - "f", - ), + arg: Identifier { + id: "f", + range: 27..28, + }, annotation: None, type_comment: None, }, @@ -122,6 +129,7 @@ Ok( decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), ], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap index ae32c655..e84040f7 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap @@ -7,20 +7,22 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..42, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { - range: 6..35, + range: 5..36, posonlyargs: [], args: [ ArgWithDefault { range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -54,9 +58,10 @@ Ok( vararg: Some( Arg { range: 16..20, - arg: Identifier( - "args", - ), + arg: Identifier { + id: "args", + range: 16..20, + }, annotation: None, type_comment: None, }, @@ -66,21 +71,23 @@ Ok( range: 22..23, def: Arg { range: 22..23, - arg: Identifier( - "d", - ), + arg: Identifier { + id: "d", + range: 22..23, + }, annotation: None, type_comment: None, }, default: None, }, ArgWithDefault { - range: 25..26, + range: 25..29, def: Arg { range: 25..26, - arg: Identifier( - "e", - ), + arg: Identifier { + id: "e", + range: 25..26, + }, annotation: None, type_comment: None, }, @@ -97,12 +104,13 @@ Ok( ), }, ArgWithDefault { - range: 31..32, + range: 31..35, def: Arg { range: 31..32, - arg: Identifier( - "f", - ), + arg: Identifier { + id: "f", + range: 31..32, + }, annotation: None, type_comment: None, }, @@ -131,6 +139,7 @@ Ok( decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), ], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap index 213589fa..43717649 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap @@ -7,20 +7,22 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..52, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { - range: 6..45, + range: 5..46, posonlyargs: [], args: [ ArgWithDefault { range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -54,9 +58,10 @@ Ok( vararg: Some( Arg { range: 16..20, - arg: Identifier( - "args", - ), + arg: Identifier { + id: "args", + range: 16..20, + }, annotation: None, type_comment: None, }, @@ -66,21 +71,23 @@ Ok( range: 22..23, def: Arg { range: 22..23, - arg: Identifier( - "d", - ), + arg: Identifier { + id: "d", + range: 22..23, + }, annotation: None, type_comment: None, }, default: None, }, ArgWithDefault { - range: 25..26, + range: 25..29, def: Arg { range: 25..26, - arg: Identifier( - "e", - ), + arg: Identifier { + id: "e", + range: 25..26, + }, annotation: None, type_comment: None, }, @@ -97,12 +104,13 @@ Ok( ), }, ArgWithDefault { - range: 31..32, + range: 31..35, def: Arg { range: 31..32, - arg: Identifier( - "f", - ), + arg: Identifier { + id: "f", + range: 31..32, + }, annotation: None, type_comment: None, }, @@ -122,9 +130,10 @@ Ok( kwarg: Some( Arg { range: 39..45, - arg: Identifier( - "kwargs", - ), + arg: Identifier { + id: "kwargs", + range: 39..45, + }, annotation: None, type_comment: None, }, @@ -140,6 +149,7 @@ Ok( decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), ], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap index e5515e2a..6ddacf8a 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap @@ -7,20 +7,22 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..20, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { - range: 6..13, + range: 5..14, posonlyargs: [], args: [ ArgWithDefault { range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, @@ -30,9 +32,10 @@ Ok( range: 9..10, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -42,9 +45,10 @@ Ok( range: 12..13, def: Arg { range: 12..13, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 12..13, + }, annotation: None, type_comment: None, }, @@ -65,6 +69,7 @@ Ok( decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), ], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap index 0c91d69e..4c78d6fb 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_defaults.snap @@ -7,32 +7,35 @@ Ok( FunctionDef( StmtFunctionDef { range: 0..26, - name: Identifier( - "f", - ), + name: Identifier { + id: "f", + range: 4..5, + }, args: Arguments { - range: 6..19, + range: 5..20, posonlyargs: [], args: [ ArgWithDefault { range: 6..7, def: Arg { range: 6..7, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 6..7, + }, annotation: None, type_comment: None, }, default: None, }, ArgWithDefault { - range: 9..10, + range: 9..13, def: Arg { range: 9..10, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 9..10, + }, annotation: None, type_comment: None, }, @@ -49,12 +52,13 @@ Ok( ), }, ArgWithDefault { - range: 15..16, + range: 15..19, def: Arg { range: 15..16, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 15..16, + }, annotation: None, type_comment: None, }, @@ -85,6 +89,7 @@ Ok( decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), ], diff --git a/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap new file mode 100644 index 00000000..6ddacf8a --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__function__tests__function_pos_args_with_ranges.snap @@ -0,0 +1,76 @@ +--- +source: parser/src/function.rs +expression: parse_ast +--- +Ok( + [ + FunctionDef( + StmtFunctionDef { + range: 0..20, + name: Identifier { + id: "f", + range: 4..5, + }, + args: Arguments { + range: 5..14, + posonlyargs: [], + args: [ + ArgWithDefault { + range: 6..7, + def: Arg { + range: 6..7, + arg: Identifier { + id: "a", + range: 6..7, + }, + annotation: None, + type_comment: None, + }, + default: None, + }, + ArgWithDefault { + range: 9..10, + def: Arg { + range: 9..10, + arg: Identifier { + id: "b", + range: 9..10, + }, + annotation: None, + type_comment: None, + }, + default: None, + }, + ArgWithDefault { + range: 12..13, + def: Arg { + range: 12..13, + arg: Identifier { + id: "c", + range: 12..13, + }, + annotation: None, + type_comment: None, + }, + default: None, + }, + ], + vararg: None, + kwonlyargs: [], + kwarg: None, + }, + body: [ + Pass( + StmtPass { + range: 16..20, + }, + ), + ], + decorator_list: [], + returns: None, + type_comment: None, + type_params: [], + }, + ), + ], +) diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args.snap index b6d75d32..f7fc7605 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args.snap @@ -20,9 +20,10 @@ Ok( range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -32,9 +33,10 @@ Ok( range: 13..14, def: Arg { range: 13..14, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 13..14, + }, annotation: None, type_comment: None, }, @@ -44,9 +46,10 @@ Ok( range: 16..17, def: Arg { range: 16..17, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 16..17, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap index 49006523..bf0d45ab 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_kw_only_args_with_defaults.snap @@ -20,21 +20,23 @@ Ok( range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 10..11, + }, annotation: None, type_comment: None, }, default: None, }, ArgWithDefault { - range: 13..14, + range: 13..17, def: Arg { range: 13..14, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 13..14, + }, annotation: None, type_comment: None, }, @@ -51,12 +53,13 @@ Ok( ), }, ArgWithDefault { - range: 19..20, + range: 19..23, def: Arg { range: 19..20, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 19..20, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_and_kw_only_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_and_kw_only_args.snap index c861f323..3ed7fdcf 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_and_kw_only_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_and_kw_only_args.snap @@ -18,9 +18,10 @@ Ok( range: 7..8, def: Arg { range: 7..8, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 7..8, + }, annotation: None, type_comment: None, }, @@ -30,9 +31,10 @@ Ok( range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -42,9 +44,10 @@ Ok( range: 13..14, def: Arg { range: 13..14, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 13..14, + }, annotation: None, type_comment: None, }, @@ -57,9 +60,10 @@ Ok( range: 19..20, def: Arg { range: 19..20, - arg: Identifier( - "d", - ), + arg: Identifier { + id: "d", + range: 19..20, + }, annotation: None, type_comment: None, }, @@ -69,9 +73,10 @@ Ok( range: 22..23, def: Arg { range: 22..23, - arg: Identifier( - "e", - ), + arg: Identifier { + id: "e", + range: 22..23, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args.snap index c8284d85..4e9797f7 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args.snap @@ -18,9 +18,10 @@ Ok( range: 7..8, def: Arg { range: 7..8, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 7..8, + }, annotation: None, type_comment: None, }, @@ -30,9 +31,10 @@ Ok( range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -42,9 +44,10 @@ Ok( range: 13..14, def: Arg { range: 13..14, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 13..14, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap index df34bc21..4d302b30 100644 --- a/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap +++ b/parser/src/snapshots/rustpython_parser__function__tests__lambda_pos_args_with_defaults.snap @@ -18,21 +18,23 @@ Ok( range: 7..8, def: Arg { range: 7..8, - arg: Identifier( - "a", - ), + arg: Identifier { + id: "a", + range: 7..8, + }, annotation: None, type_comment: None, }, default: None, }, ArgWithDefault { - range: 10..11, + range: 10..14, def: Arg { range: 10..11, - arg: Identifier( - "b", - ), + arg: Identifier { + id: "b", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -49,12 +51,13 @@ Ok( ), }, ArgWithDefault { - range: 16..17, + range: 16..20, def: Arg { range: 16..17, - arg: Identifier( - "c", - ), + arg: Identifier { + id: "c", + range: 16..17, + }, annotation: None, type_comment: None, }, diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__decorator_ranges.snap b/parser/src/snapshots/rustpython_parser__parser__tests__decorator_ranges.snap new file mode 100644 index 00000000..2b743f21 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__parser__tests__decorator_ranges.snap @@ -0,0 +1,76 @@ +--- +source: parser/src/parser.rs +expression: parse_ast +--- +[ + FunctionDef( + StmtFunctionDef { + range: 0..34, + name: Identifier { + id: "test", + range: 18..22, + }, + args: Arguments { + range: 22..24, + posonlyargs: [], + args: [], + vararg: None, + kwonlyargs: [], + kwarg: None, + }, + body: [ + Pass( + StmtPass { + range: 30..34, + }, + ), + ], + decorator_list: [ + Decorator { + range: 0..13, + expression: Name( + ExprName { + range: 1..13, + id: "my_decorator", + ctx: Load, + }, + ), + }, + ], + returns: None, + type_comment: None, + type_params: [], + }, + ), + ClassDef( + StmtClassDef { + range: 36..73, + name: Identifier { + id: "Abcd", + range: 59..63, + }, + bases: [], + keywords: [], + body: [ + Pass( + StmtPass { + range: 69..73, + }, + ), + ], + decorator_list: [ + Decorator { + range: 36..52, + expression: Name( + ExprName { + range: 37..52, + id: "class_decorator", + ctx: Load, + }, + ), + }, + ], + type_params: [], + }, + ), +] diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__dict_unpacking.snap b/parser/src/snapshots/rustpython_parser__parser__tests__dict_unpacking.snap index bfe86746..2a6d4329 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__dict_unpacking.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__dict_unpacking.snap @@ -43,9 +43,7 @@ Dict( Name( ExprName { range: 13..14, - id: Identifier( - "c", - ), + id: "c", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__generator_expression_argument.snap b/parser/src/snapshots/rustpython_parser__parser__tests__generator_expression_argument.snap index 52156e59..a94344b0 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__generator_expression_argument.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__generator_expression_argument.snap @@ -17,9 +17,10 @@ Call( kind: None, }, ), - attr: Identifier( - "join", - ), + attr: Identifier { + id: "join", + range: 4..8, + }, ctx: Load, }, ), @@ -30,9 +31,7 @@ Call( elt: Name( ExprName { range: 14..17, - id: Identifier( - "sql", - ), + id: "sql", ctx: Load, }, ), @@ -42,9 +41,7 @@ Call( target: Name( ExprName { range: 26..29, - id: Identifier( - "sql", - ), + id: "sql", ctx: Store, }, ), @@ -58,9 +55,7 @@ Call( test: Name( ExprName { range: 65..70, - id: Identifier( - "limit", - ), + id: "limit", ctx: Load, }, ), @@ -80,9 +75,7 @@ Call( right: Name( ExprName { range: 56..61, - id: Identifier( - "limit", - ), + id: "limit", ctx: Load, }, ), @@ -103,9 +96,7 @@ Call( test: Name( ExprName { range: 116..122, - id: Identifier( - "offset", - ), + id: "offset", ctx: Load, }, ), @@ -125,9 +116,7 @@ Call( right: Name( ExprName { range: 105..111, - id: Identifier( - "offset", - ), + id: "offset", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__match.snap b/parser/src/snapshots/rustpython_parser__parser__tests__match.snap index d61cb38c..0de5d0df 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__match.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__match.snap @@ -44,9 +44,10 @@ expression: parse_ast keys: [], patterns: [], rest: Some( - Identifier( - "rest", - ), + Identifier { + id: "rest", + range: 41..45, + }, ), }, ), @@ -61,9 +62,7 @@ expression: parse_ast func: Name( ExprName { range: 62..67, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -71,9 +70,7 @@ expression: parse_ast Name( ExprName { range: 68..72, - id: Identifier( - "rest", - ), + id: "rest", ctx: Load, }, ), @@ -152,9 +149,7 @@ expression: parse_ast cls: Name( ExprName { range: 127..130, - id: Identifier( - "str", - ), + id: "str", ctx: Load, }, ), @@ -174,9 +169,10 @@ expression: parse_ast ), ), name: Some( - Identifier( - "label", - ), + Identifier { + id: "label", + range: 143..148, + }, ), }, ), @@ -195,9 +191,7 @@ expression: parse_ast func: Name( ExprName { range: 165..170, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -205,9 +199,7 @@ expression: parse_ast Name( ExprName { range: 171..176, - id: Identifier( - "label", - ), + id: "label", ctx: Load, }, ), @@ -228,9 +220,7 @@ expression: parse_ast subject: Name( ExprName { range: 184..185, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -281,9 +271,7 @@ expression: parse_ast Name( ExprName { range: 213..214, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -311,9 +299,7 @@ expression: parse_ast subject: Name( ExprName { range: 225..226, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -364,9 +350,7 @@ expression: parse_ast Name( ExprName { range: 254..255, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -394,9 +378,7 @@ expression: parse_ast subject: Name( ExprName { range: 266..267, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -433,9 +415,7 @@ expression: parse_ast Name( ExprName { range: 292..293, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__match_as_identifier.snap b/parser/src/snapshots/rustpython_parser__parser__tests__match_as_identifier.snap index 3e170f22..eca81753 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__match_as_identifier.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__match_as_identifier.snap @@ -1,37 +1,33 @@ --- source: parser/src/parser.rs -expression: parse_ast +expression: "ast::Suite::parse(source, \"\").unwrap()" --- [ Expr( StmtExpr { - range: 1..16, + range: 2..17, value: Tuple( ExprTuple { - range: 1..16, + range: 2..17, elts: [ BinOp( ExprBinOp { - range: 1..13, + range: 2..14, left: BinOp( ExprBinOp { - range: 1..9, + range: 2..10, left: Name( ExprName { - range: 1..6, - id: Identifier( - "match", - ), + range: 2..7, + id: "match", ctx: Load, }, ), op: Mult, right: Name( ExprName { - range: 8..9, - id: Identifier( - "a", - ), + range: 9..10, + id: "a", ctx: Load, }, ), @@ -40,10 +36,8 @@ expression: parse_ast op: Add, right: Name( ExprName { - range: 12..13, - id: Identifier( - "b", - ), + range: 13..14, + id: "b", ctx: Load, }, ), @@ -51,10 +45,8 @@ expression: parse_ast ), Name( ExprName { - range: 15..16, - id: Identifier( - "c", - ), + range: 16..17, + id: "c", ctx: Load, }, ), @@ -66,43 +58,37 @@ expression: parse_ast ), Expr( StmtExpr { - range: 42..59, + range: 43..60, value: Tuple( ExprTuple { - range: 42..59, + range: 43..60, elts: [ BinOp( ExprBinOp { - range: 42..56, + range: 43..57, left: Name( ExprName { - range: 42..47, - id: Identifier( - "match", - ), + range: 43..48, + id: "match", ctx: Load, }, ), op: Mult, right: BinOp( ExprBinOp { - range: 50..55, + range: 51..56, left: Name( ExprName { - range: 50..51, - id: Identifier( - "a", - ), + range: 51..52, + id: "a", ctx: Load, }, ), op: Add, right: Name( ExprName { - range: 54..55, - id: Identifier( - "b", - ), + range: 55..56, + id: "b", ctx: Load, }, ), @@ -112,10 +98,8 @@ expression: parse_ast ), Name( ExprName { - range: 58..59, - id: Identifier( - "c", - ), + range: 59..60, + id: "c", ctx: Load, }, ), @@ -127,42 +111,36 @@ expression: parse_ast ), Expr( StmtExpr { - range: 85..102, + range: 86..103, value: Call( ExprCall { - range: 85..102, + range: 86..103, func: Name( ExprName { - range: 85..90, - id: Identifier( - "match", - ), + range: 86..91, + id: "match", ctx: Load, }, ), args: [ Starred( ExprStarred { - range: 92..98, + range: 93..99, value: BinOp( ExprBinOp { - range: 93..98, + range: 94..99, left: Name( ExprName { - range: 93..94, - id: Identifier( - "a", - ), + range: 94..95, + id: "a", ctx: Load, }, ), op: Add, right: Name( ExprName { - range: 97..98, - id: Identifier( - "b", - ), + range: 98..99, + id: "b", ctx: Load, }, ), @@ -173,10 +151,8 @@ expression: parse_ast ), Name( ExprName { - range: 100..101, - id: Identifier( - "c", - ), + range: 101..102, + id: "c", ctx: Load, }, ), @@ -188,42 +164,36 @@ expression: parse_ast ), Expr( StmtExpr { - range: 129..145, + range: 130..146, value: BinOp( ExprBinOp { - range: 129..145, + range: 130..146, left: BinOp( ExprBinOp { - range: 129..141, + range: 130..142, left: Name( ExprName { - range: 129..134, - id: Identifier( - "match", - ), + range: 130..135, + id: "match", ctx: Load, }, ), op: Sub, right: BinOp( ExprBinOp { - range: 136..141, + range: 137..142, left: Name( ExprName { - range: 136..137, - id: Identifier( - "a", - ), + range: 137..138, + id: "a", ctx: Load, }, ), op: Mult, right: Name( ExprName { - range: 140..141, - id: Identifier( - "b", - ), + range: 141..142, + id: "b", ctx: Load, }, ), @@ -234,10 +204,8 @@ expression: parse_ast op: Add, right: Name( ExprName { - range: 144..145, - id: Identifier( - "c", - ), + range: 145..146, + id: "c", ctx: Load, }, ), @@ -247,42 +215,36 @@ expression: parse_ast ), Expr( StmtExpr { - range: 172..190, + range: 173..191, value: BinOp( ExprBinOp { - range: 172..190, + range: 173..191, left: BinOp( ExprBinOp { - range: 172..186, + range: 173..187, left: Name( ExprName { - range: 172..177, - id: Identifier( - "match", - ), + range: 173..178, + id: "match", ctx: Load, }, ), op: Sub, right: BinOp( ExprBinOp { - range: 180..185, + range: 181..186, left: Name( ExprName { - range: 180..181, - id: Identifier( - "a", - ), + range: 181..182, + id: "a", ctx: Load, }, ), op: Mult, right: Name( ExprName { - range: 184..185, - id: Identifier( - "b", - ), + range: 185..186, + id: "b", ctx: Load, }, ), @@ -293,10 +255,8 @@ expression: parse_ast op: Add, right: Name( ExprName { - range: 189..190, - id: Identifier( - "c", - ), + range: 190..191, + id: "c", ctx: Load, }, ), @@ -306,36 +266,32 @@ expression: parse_ast ), Expr( StmtExpr { - range: 217..235, + range: 218..236, value: BinOp( ExprBinOp { - range: 217..235, + range: 218..236, left: BinOp( ExprBinOp { - range: 217..231, + range: 218..232, left: Call( ExprCall { - range: 217..227, + range: 218..228, func: Name( ExprName { - range: 217..222, - id: Identifier( - "match", - ), + range: 218..223, + id: "match", ctx: Load, }, ), args: [ UnaryOp( ExprUnaryOp { - range: 224..226, + range: 225..227, op: USub, operand: Name( ExprName { - range: 225..226, - id: Identifier( - "a", - ), + range: 226..227, + id: "a", ctx: Load, }, ), @@ -348,10 +304,8 @@ expression: parse_ast op: Mult, right: Name( ExprName { - range: 230..231, - id: Identifier( - "b", - ), + range: 231..232, + id: "b", ctx: Load, }, ), @@ -360,10 +314,8 @@ expression: parse_ast op: Add, right: Name( ExprName { - range: 234..235, - id: Identifier( - "c", - ), + range: 235..236, + id: "c", ctx: Load, }, ), @@ -373,19 +325,17 @@ expression: parse_ast ), Expr( StmtExpr { - range: 263..273, + range: 264..274, value: Attribute( ExprAttribute { - range: 263..273, + range: 264..274, value: Call( ExprCall { - range: 263..271, + range: 264..272, func: Name( ExprName { - range: 263..268, - id: Identifier( - "match", - ), + range: 264..269, + id: "match", ctx: Load, }, ), @@ -393,9 +343,10 @@ expression: parse_ast keywords: [], }, ), - attr: Identifier( - "a", - ), + attr: Identifier { + id: "a", + range: 273..274, + }, ctx: Load, }, ), @@ -403,26 +354,24 @@ expression: parse_ast ), Expr( StmtExpr { - range: 290..302, + range: 291..303, value: Attribute( ExprAttribute { - range: 290..302, + range: 291..303, value: Call( ExprCall { - range: 290..300, + range: 291..301, func: Name( ExprName { - range: 290..295, - id: Identifier( - "match", - ), + range: 291..296, + id: "match", ctx: Load, }, ), args: [ Tuple( ExprTuple { - range: 297..299, + range: 298..300, elts: [], ctx: Load, }, @@ -431,9 +380,10 @@ expression: parse_ast keywords: [], }, ), - attr: Identifier( - "a", - ), + attr: Identifier { + id: "a", + range: 302..303, + }, ctx: Load, }, ), @@ -441,26 +391,24 @@ expression: parse_ast ), Expr( StmtExpr { - range: 321..334, + range: 322..335, value: Attribute( ExprAttribute { - range: 321..334, + range: 322..335, value: Call( ExprCall { - range: 321..332, + range: 322..333, func: Name( ExprName { - range: 321..326, - id: Identifier( - "match", - ), + range: 322..327, + id: "match", ctx: Load, }, ), args: [ Tuple( ExprTuple { - range: 328..330, + range: 329..331, elts: [], ctx: Load, }, @@ -469,9 +417,10 @@ expression: parse_ast keywords: [], }, ), - attr: Identifier( - "a", - ), + attr: Identifier { + id: "a", + range: 334..335, + }, ctx: Load, }, ), @@ -479,37 +428,34 @@ expression: parse_ast ), Expr( StmtExpr { - range: 353..364, + range: 354..365, value: Attribute( ExprAttribute { - range: 353..364, + range: 354..365, value: Subscript( ExprSubscript { - range: 353..362, + range: 354..363, value: Name( ExprName { - range: 353..358, - id: Identifier( - "match", - ), + range: 354..359, + id: "match", ctx: Load, }, ), slice: Name( ExprName { - range: 360..361, - id: Identifier( - "a", - ), + range: 361..362, + id: "a", ctx: Load, }, ), ctx: Load, }, ), - attr: Identifier( - "b", - ), + attr: Identifier { + id: "b", + range: 364..365, + }, ctx: Load, }, ), @@ -517,32 +463,28 @@ expression: parse_ast ), Expr( StmtExpr { - range: 382..394, + range: 383..395, value: Attribute( ExprAttribute { - range: 382..394, + range: 383..395, value: Subscript( ExprSubscript { - range: 382..392, + range: 383..393, value: Name( ExprName { - range: 382..387, - id: Identifier( - "match", - ), + range: 383..388, + id: "match", ctx: Load, }, ), slice: Tuple( ExprTuple { - range: 389..391, + range: 390..392, elts: [ Name( ExprName { - range: 389..390, - id: Identifier( - "a", - ), + range: 390..391, + id: "a", ctx: Load, }, ), @@ -553,9 +495,10 @@ expression: parse_ast ctx: Load, }, ), - attr: Identifier( - "b", - ), + attr: Identifier { + id: "b", + range: 394..395, + }, ctx: Load, }, ), @@ -563,32 +506,28 @@ expression: parse_ast ), Expr( StmtExpr { - range: 435..449, + range: 436..450, value: Attribute( ExprAttribute { - range: 435..449, + range: 436..450, value: Subscript( ExprSubscript { - range: 435..447, + range: 436..448, value: Name( ExprName { - range: 435..440, - id: Identifier( - "match", - ), + range: 436..441, + id: "match", ctx: Load, }, ), slice: Tuple( ExprTuple { - range: 442..446, + range: 443..447, elts: [ Name( ExprName { - range: 443..444, - id: Identifier( - "a", - ), + range: 444..445, + id: "a", ctx: Load, }, ), @@ -599,9 +538,10 @@ expression: parse_ast ctx: Load, }, ), - attr: Identifier( - "b", - ), + attr: Identifier { + id: "b", + range: 449..450, + }, ctx: Load, }, ), @@ -609,19 +549,17 @@ expression: parse_ast ), Expr( StmtExpr { - range: 470..487, + range: 471..488, value: Subscript( ExprSubscript { - range: 470..487, + range: 471..488, value: Call( ExprCall { - range: 470..477, + range: 471..478, func: Name( ExprName { - range: 470..475, - id: Identifier( - "match", - ), + range: 471..476, + id: "match", ctx: Load, }, ), @@ -631,14 +569,12 @@ expression: parse_ast ), slice: Slice( ExprSlice { - range: 478..486, + range: 479..487, lower: Some( Name( ExprName { - range: 478..479, - id: Identifier( - "a", - ), + range: 479..480, + id: "a", ctx: Load, }, ), @@ -646,10 +582,8 @@ expression: parse_ast upper: Some( Name( ExprName { - range: 485..486, - id: Identifier( - "b", - ), + range: 486..487, + id: "b", ctx: Load, }, ), @@ -664,22 +598,20 @@ expression: parse_ast ), If( StmtIf { - range: 507..526, + range: 508..527, test: NamedExpr( ExprNamedExpr { - range: 510..520, + range: 511..521, target: Name( ExprName { - range: 510..515, - id: Identifier( - "match", - ), + range: 511..516, + id: "match", ctx: Store, }, ), value: Constant( ExprConstant { - range: 519..520, + range: 520..521, value: Int( 1, ), @@ -691,7 +623,7 @@ expression: parse_ast body: [ Pass( StmtPass { - range: 522..526, + range: 523..527, }, ), ], @@ -700,25 +632,23 @@ expression: parse_ast ), Match( StmtMatch { - range: 527..581, + range: 528..582, subject: Name( ExprName { - range: 533..538, - id: Identifier( - "match", - ), + range: 534..539, + id: "match", ctx: Load, }, ), cases: [ MatchCase { - range: 544..556, + range: 545..557, pattern: MatchValue( PatternMatchValue { - range: 549..550, + range: 550..551, value: Constant( ExprConstant { - range: 549..550, + range: 550..551, value: Int( 1, ), @@ -731,19 +661,19 @@ expression: parse_ast body: [ Pass( StmtPass { - range: 552..556, + range: 553..557, }, ), ], }, MatchCase { - range: 561..581, + range: 562..582, pattern: MatchValue( PatternMatchValue { - range: 566..567, + range: 567..568, value: Constant( ExprConstant { - range: 566..567, + range: 567..568, value: Int( 2, ), @@ -756,7 +686,7 @@ expression: parse_ast body: [ Pass( StmtPass { - range: 577..581, + range: 578..582, }, ), ], @@ -766,32 +696,31 @@ expression: parse_ast ), Assign( StmtAssign { - range: 582..618, + range: 583..619, targets: [ Name( ExprName { - range: 582..587, - id: Identifier( - "match", - ), + range: 583..588, + id: "match", ctx: Store, }, ), ], value: Lambda( ExprLambda { - range: 590..618, + range: 591..619, args: Arguments { - range: 597..602, + range: 598..603, posonlyargs: [], args: [ ArgWithDefault { - range: 597..602, + range: 598..603, def: Arg { - range: 597..602, - arg: Identifier( - "query", - ), + range: 598..603, + arg: Identifier { + id: "query", + range: 598..603, + }, annotation: None, type_comment: None, }, @@ -804,13 +733,11 @@ expression: parse_ast }, body: Compare( ExprCompare { - range: 604..618, + range: 605..619, left: Name( ExprName { - range: 604..609, - id: Identifier( - "query", - ), + range: 605..610, + id: "query", ctx: Load, }, ), @@ -820,10 +747,8 @@ expression: parse_ast comparators: [ Name( ExprName { - range: 613..618, - id: Identifier( - "event", - ), + range: 614..619, + id: "event", ctx: Load, }, ), @@ -837,36 +762,32 @@ expression: parse_ast ), Expr( StmtExpr { - range: 619..635, + range: 620..636, value: Call( ExprCall { - range: 619..635, + range: 620..636, func: Name( ExprName { - range: 619..624, - id: Identifier( - "print", - ), + range: 620..625, + id: "print", ctx: Load, }, ), args: [ Call( ExprCall { - range: 625..634, + range: 626..635, func: Name( ExprName { - range: 625..630, - id: Identifier( - "match", - ), + range: 626..631, + id: "match", ctx: Load, }, ), args: [ Constant( ExprConstant { - range: 631..633, + range: 632..634, value: Int( 12, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_and.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_and.snap index aba6bff5..139ee40a 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_and.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_and.snap @@ -10,18 +10,14 @@ BoolOp( Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), Name( ExprName { range: 6..7, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_or.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_or.snap index c7f31caa..71c1e95a 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_or.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_bool_op_or.snap @@ -10,18 +10,14 @@ BoolOp( Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), Name( ExprName { range: 5..6, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap index c27d250f..3722c842 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_class.snap @@ -1,30 +1,27 @@ --- source: parser/src/parser.rs -expression: "parse_program(source, \"\").unwrap()" +expression: "ast::Suite::parse(source, \"\").unwrap()" --- [ ClassDef( StmtClassDef { range: 0..98, - name: Identifier( - "Foo", - ), + name: Identifier { + id: "Foo", + range: 6..9, + }, bases: [ Name( ExprName { range: 10..11, - id: Identifier( - "A", - ), + id: "A", ctx: Load, }, ), Name( ExprName { range: 13..14, - id: Identifier( - "B", - ), + id: "B", ctx: Load, }, ), @@ -34,20 +31,22 @@ expression: "parse_program(source, \"\").unwrap()" FunctionDef( StmtFunctionDef { range: 18..44, - name: Identifier( - "__init__", - ), + name: Identifier { + id: "__init__", + range: 22..30, + }, args: Arguments { - range: 31..35, + range: 30..36, posonlyargs: [], args: [ ArgWithDefault { range: 31..35, def: Arg { range: 31..35, - arg: Identifier( - "self", - ), + arg: Identifier { + id: "self", + range: 31..35, + }, annotation: None, type_comment: None, }, @@ -68,37 +67,41 @@ expression: "parse_program(source, \"\").unwrap()" decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), FunctionDef( StmtFunctionDef { range: 46..98, - name: Identifier( - "method_with_default", - ), + name: Identifier { + id: "method_with_default", + range: 50..69, + }, args: Arguments { - range: 70..89, + range: 69..90, posonlyargs: [], args: [ ArgWithDefault { range: 70..74, def: Arg { range: 70..74, - arg: Identifier( - "self", - ), + arg: Identifier { + id: "self", + range: 70..74, + }, annotation: None, type_comment: None, }, default: None, }, ArgWithDefault { - range: 76..79, + range: 76..89, def: Arg { range: 76..79, - arg: Identifier( - "arg", - ), + arg: Identifier { + id: "arg", + range: 76..79, + }, annotation: None, type_comment: None, }, @@ -129,10 +132,12 @@ expression: "parse_program(source, \"\").unwrap()" decorator_list: [], returns: None, type_comment: None, + type_params: [], }, ), ], decorator_list: [], + type_params: [], }, ), ] diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_class_generic_types.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_class_generic_types.snap new file mode 100644 index 00000000..badfedb7 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_class_generic_types.snap @@ -0,0 +1,388 @@ +--- +source: parser/src/parser.rs +expression: "ast::Suite::parse(source, \"\").unwrap()" +--- +[ + ClassDef( + StmtClassDef { + range: 10..29, + name: Identifier { + id: "Foo", + range: 16..19, + }, + bases: [], + keywords: [], + body: [ + Expr( + StmtExpr { + range: 26..29, + value: Constant( + ExprConstant { + range: 26..29, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 20..21, + name: Identifier { + id: "T", + range: 20..21, + }, + bound: None, + }, + ), + ], + }, + ), + ClassDef( + StmtClassDef { + range: 52..76, + name: Identifier { + id: "Foo", + range: 58..61, + }, + bases: [], + keywords: [], + body: [ + Expr( + StmtExpr { + range: 73..76, + value: Constant( + ExprConstant { + range: 73..76, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 62..68, + name: Identifier { + id: "T", + range: 62..63, + }, + bound: Some( + Name( + ExprName { + range: 65..68, + id: "str", + ctx: Load, + }, + ), + ), + }, + ), + ], + }, + ), + ClassDef( + StmtClassDef { + range: 105..138, + name: Identifier { + id: "Foo", + range: 111..114, + }, + bases: [], + keywords: [], + body: [ + Expr( + StmtExpr { + range: 135..138, + value: Constant( + ExprConstant { + range: 135..138, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 115..130, + name: Identifier { + id: "T", + range: 115..116, + }, + bound: Some( + Tuple( + ExprTuple { + range: 118..130, + elts: [ + Name( + ExprName { + range: 119..122, + id: "str", + ctx: Load, + }, + ), + Name( + ExprName { + range: 124..129, + id: "bytes", + ctx: Load, + }, + ), + ], + ctx: Load, + }, + ), + ), + }, + ), + ], + }, + ), + ClassDef( + StmtClassDef { + range: 159..181, + name: Identifier { + id: "Foo", + range: 165..168, + }, + bases: [], + keywords: [], + body: [ + Expr( + StmtExpr { + range: 178..181, + value: Constant( + ExprConstant { + range: 178..181, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 169..170, + name: Identifier { + id: "T", + range: 169..170, + }, + bound: None, + }, + ), + TypeVar( + TypeParamTypeVar { + range: 172..173, + name: Identifier { + id: "U", + range: 172..173, + }, + bound: None, + }, + ), + ], + }, + ), + ClassDef( + StmtClassDef { + range: 200..223, + name: Identifier { + id: "Foo", + range: 206..209, + }, + bases: [], + keywords: [], + body: [ + Expr( + StmtExpr { + range: 220..223, + value: Constant( + ExprConstant { + range: 220..223, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 210..211, + name: Identifier { + id: "T", + range: 210..211, + }, + bound: None, + }, + ), + TypeVar( + TypeParamTypeVar { + range: 213..214, + name: Identifier { + id: "U", + range: 213..214, + }, + bound: None, + }, + ), + ], + }, + ), + ClassDef( + StmtClassDef { + range: 240..261, + name: Identifier { + id: "Foo", + range: 246..249, + }, + bases: [], + keywords: [], + body: [ + Expr( + StmtExpr { + range: 258..261, + value: Constant( + ExprConstant { + range: 258..261, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + type_params: [ + TypeVarTuple( + TypeParamTypeVarTuple { + range: 250..253, + name: Identifier { + id: "Ts", + range: 251..253, + }, + }, + ), + ], + }, + ), + ClassDef( + StmtClassDef { + range: 275..296, + name: Identifier { + id: "Foo", + range: 281..284, + }, + bases: [], + keywords: [], + body: [ + Expr( + StmtExpr { + range: 293..296, + value: Constant( + ExprConstant { + range: 293..296, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + type_params: [ + ParamSpec( + TypeParamParamSpec { + range: 285..288, + name: Identifier { + id: "P", + range: 287..288, + }, + }, + ), + ], + }, + ), + ClassDef( + StmtClassDef { + range: 312..351, + name: Identifier { + id: "Foo", + range: 318..321, + }, + bases: [], + keywords: [], + body: [ + Pass( + StmtPass { + range: 347..351, + }, + ), + ], + decorator_list: [], + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 322..323, + name: Identifier { + id: "X", + range: 322..323, + }, + bound: None, + }, + ), + TypeVar( + TypeParamTypeVar { + range: 325..331, + name: Identifier { + id: "Y", + range: 325..326, + }, + bound: Some( + Name( + ExprName { + range: 328..331, + id: "str", + ctx: Load, + }, + ), + ), + }, + ), + TypeVarTuple( + TypeParamTypeVarTuple { + range: 333..335, + name: Identifier { + id: "U", + range: 334..335, + }, + }, + ), + ParamSpec( + TypeParamParamSpec { + range: 337..340, + name: Identifier { + id: "P", + range: 339..340, + }, + }, + ), + ], + }, + ), +] diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_dict_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_dict_comprehension.snap index bfae4a3b..69d3ae78 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_dict_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_dict_comprehension.snap @@ -8,18 +8,14 @@ DictComp( key: Name( ExprName { range: 1..3, - id: Identifier( - "x1", - ), + id: "x1", ctx: Load, }, ), value: Name( ExprName { range: 5..7, - id: Identifier( - "x2", - ), + id: "x2", ctx: Load, }, ), @@ -29,18 +25,14 @@ DictComp( target: Name( ExprName { range: 12..13, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), iter: Name( ExprName { range: 17..18, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_double_list_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_double_list_comprehension.snap index 9a35c965..3f381687 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_double_list_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_double_list_comprehension.snap @@ -8,9 +8,7 @@ ListComp( elt: Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -24,18 +22,14 @@ ListComp( Name( ExprName { range: 7..8, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), Name( ExprName { range: 10..12, - id: Identifier( - "y2", - ), + id: "y2", ctx: Store, }, ), @@ -46,9 +40,7 @@ ListComp( iter: Name( ExprName { range: 16..17, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), @@ -60,18 +52,14 @@ ListComp( target: Name( ExprName { range: 22..23, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), iter: Name( ExprName { range: 27..28, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), @@ -82,9 +70,7 @@ ListComp( left: Name( ExprName { range: 32..33, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -110,9 +96,7 @@ ListComp( left: Name( ExprName { range: 41..42, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_function_definition.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_function_definition.snap new file mode 100644 index 00000000..a9847eeb --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_function_definition.snap @@ -0,0 +1,559 @@ +--- +source: parser/src/parser.rs +expression: "ast::Suite::parse(source, \"\").unwrap()" +--- +[ + FunctionDef( + StmtFunctionDef { + range: 0..20, + name: Identifier { + id: "func", + range: 4..8, + }, + args: Arguments { + range: 8..11, + posonlyargs: [], + args: [ + ArgWithDefault { + range: 9..10, + def: Arg { + range: 9..10, + arg: Identifier { + id: "a", + range: 9..10, + }, + annotation: None, + type_comment: None, + }, + default: None, + }, + ], + vararg: None, + kwonlyargs: [], + kwarg: None, + }, + body: [ + Expr( + StmtExpr { + range: 17..20, + value: Constant( + ExprConstant { + range: 17..20, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + returns: None, + type_comment: None, + type_params: [], + }, + ), + FunctionDef( + StmtFunctionDef { + range: 22..53, + name: Identifier { + id: "func", + range: 26..30, + }, + args: Arguments { + range: 33..39, + posonlyargs: [], + args: [ + ArgWithDefault { + range: 34..38, + def: Arg { + range: 34..38, + arg: Identifier { + id: "a", + range: 34..35, + }, + annotation: Some( + Name( + ExprName { + range: 37..38, + id: "T", + ctx: Load, + }, + ), + ), + type_comment: None, + }, + default: None, + }, + ], + vararg: None, + kwonlyargs: [], + kwarg: None, + }, + body: [ + Expr( + StmtExpr { + range: 50..53, + value: Constant( + ExprConstant { + range: 50..53, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + returns: Some( + Name( + ExprName { + range: 43..44, + id: "T", + ctx: Load, + }, + ), + ), + type_comment: None, + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 31..32, + name: Identifier { + id: "T", + range: 31..32, + }, + bound: None, + }, + ), + ], + }, + ), + FunctionDef( + StmtFunctionDef { + range: 55..91, + name: Identifier { + id: "func", + range: 59..63, + }, + args: Arguments { + range: 71..77, + posonlyargs: [], + args: [ + ArgWithDefault { + range: 72..76, + def: Arg { + range: 72..76, + arg: Identifier { + id: "a", + range: 72..73, + }, + annotation: Some( + Name( + ExprName { + range: 75..76, + id: "T", + ctx: Load, + }, + ), + ), + type_comment: None, + }, + default: None, + }, + ], + vararg: None, + kwonlyargs: [], + kwarg: None, + }, + body: [ + Expr( + StmtExpr { + range: 88..91, + value: Constant( + ExprConstant { + range: 88..91, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + returns: Some( + Name( + ExprName { + range: 81..82, + id: "T", + ctx: Load, + }, + ), + ), + type_comment: None, + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 64..70, + name: Identifier { + id: "T", + range: 64..65, + }, + bound: Some( + Name( + ExprName { + range: 67..70, + id: "str", + ctx: Load, + }, + ), + ), + }, + ), + ], + }, + ), + FunctionDef( + StmtFunctionDef { + range: 93..138, + name: Identifier { + id: "func", + range: 97..101, + }, + args: Arguments { + range: 118..124, + posonlyargs: [], + args: [ + ArgWithDefault { + range: 119..123, + def: Arg { + range: 119..123, + arg: Identifier { + id: "a", + range: 119..120, + }, + annotation: Some( + Name( + ExprName { + range: 122..123, + id: "T", + ctx: Load, + }, + ), + ), + type_comment: None, + }, + default: None, + }, + ], + vararg: None, + kwonlyargs: [], + kwarg: None, + }, + body: [ + Expr( + StmtExpr { + range: 135..138, + value: Constant( + ExprConstant { + range: 135..138, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + returns: Some( + Name( + ExprName { + range: 128..129, + id: "T", + ctx: Load, + }, + ), + ), + type_comment: None, + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 102..117, + name: Identifier { + id: "T", + range: 102..103, + }, + bound: Some( + Tuple( + ExprTuple { + range: 105..117, + elts: [ + Name( + ExprName { + range: 106..109, + id: "str", + ctx: Load, + }, + ), + Name( + ExprName { + range: 111..116, + id: "bytes", + ctx: Load, + }, + ), + ], + ctx: Load, + }, + ), + ), + }, + ), + ], + }, + ), + FunctionDef( + StmtFunctionDef { + range: 140..171, + name: Identifier { + id: "func", + range: 144..148, + }, + args: Arguments { + range: 153..162, + posonlyargs: [], + args: [], + vararg: Some( + Arg { + range: 155..161, + arg: Identifier { + id: "a", + range: 155..156, + }, + annotation: Some( + Starred( + ExprStarred { + range: 158..161, + value: Name( + ExprName { + range: 159..161, + id: "Ts", + ctx: Load, + }, + ), + ctx: Load, + }, + ), + ), + type_comment: None, + }, + ), + kwonlyargs: [], + kwarg: None, + }, + body: [ + Expr( + StmtExpr { + range: 168..171, + value: Constant( + ExprConstant { + range: 168..171, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + returns: None, + type_comment: None, + type_params: [ + TypeVarTuple( + TypeParamTypeVarTuple { + range: 149..152, + name: Identifier { + id: "Ts", + range: 150..152, + }, + }, + ), + ], + }, + ), + FunctionDef( + StmtFunctionDef { + range: 173..230, + name: Identifier { + id: "func", + range: 177..181, + }, + args: Arguments { + range: 186..221, + posonlyargs: [], + args: [], + vararg: Some( + Arg { + range: 188..200, + arg: Identifier { + id: "args", + range: 188..192, + }, + annotation: Some( + Attribute( + ExprAttribute { + range: 194..200, + value: Name( + ExprName { + range: 194..195, + id: "P", + ctx: Load, + }, + ), + attr: Identifier { + id: "args", + range: 196..200, + }, + ctx: Load, + }, + ), + ), + type_comment: None, + }, + ), + kwonlyargs: [], + kwarg: Some( + Arg { + range: 204..220, + arg: Identifier { + id: "kwargs", + range: 204..210, + }, + annotation: Some( + Attribute( + ExprAttribute { + range: 212..220, + value: Name( + ExprName { + range: 212..213, + id: "P", + ctx: Load, + }, + ), + attr: Identifier { + id: "kwargs", + range: 214..220, + }, + ctx: Load, + }, + ), + ), + type_comment: None, + }, + ), + }, + body: [ + Expr( + StmtExpr { + range: 227..230, + value: Constant( + ExprConstant { + range: 227..230, + value: Ellipsis, + kind: None, + }, + ), + }, + ), + ], + decorator_list: [], + returns: None, + type_comment: None, + type_params: [ + ParamSpec( + TypeParamParamSpec { + range: 182..185, + name: Identifier { + id: "P", + range: 184..185, + }, + }, + ), + ], + }, + ), + FunctionDef( + StmtFunctionDef { + range: 232..273, + name: Identifier { + id: "func", + range: 236..240, + }, + args: Arguments { + range: 261..263, + posonlyargs: [], + args: [], + vararg: None, + kwonlyargs: [], + kwarg: None, + }, + body: [ + Pass( + StmtPass { + range: 269..273, + }, + ), + ], + decorator_list: [], + returns: None, + type_comment: None, + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 241..242, + name: Identifier { + id: "T", + range: 241..242, + }, + bound: None, + }, + ), + TypeVar( + TypeParamTypeVar { + range: 244..250, + name: Identifier { + id: "U", + range: 244..245, + }, + bound: Some( + Name( + ExprName { + range: 247..250, + id: "str", + ctx: Load, + }, + ), + ), + }, + ), + TypeVarTuple( + TypeParamTypeVarTuple { + range: 252..255, + name: Identifier { + id: "Ts", + range: 253..255, + }, + }, + ), + ParamSpec( + TypeParamParamSpec { + range: 257..260, + name: Identifier { + id: "P", + range: 259..260, + }, + }, + ), + ], + }, + ), +] diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_generator_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_generator_comprehension.snap index 82e2cc68..f9bede46 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_generator_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_generator_comprehension.snap @@ -8,9 +8,7 @@ GeneratorExp( elt: Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -20,18 +18,14 @@ GeneratorExp( target: Name( ExprName { range: 7..8, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), iter: Name( ExprName { range: 12..13, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_if_else_generator_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_if_else_generator_comprehension.snap index 81286fe8..9d8e9d2e 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_if_else_generator_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_if_else_generator_comprehension.snap @@ -11,27 +11,21 @@ GeneratorExp( test: Name( ExprName { range: 6..7, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), body: Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), orelse: Name( ExprName { range: 13..14, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), @@ -43,18 +37,14 @@ GeneratorExp( target: Name( ExprName { range: 19..20, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), iter: Name( ExprName { range: 24..25, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_kwargs.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_kwargs.snap index ca710ad8..29854553 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_kwargs.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_kwargs.snap @@ -12,9 +12,7 @@ expression: parse_ast func: Name( ExprName { range: 0..7, - id: Identifier( - "my_func", - ), + id: "my_func", ctx: Load, }, ), @@ -33,9 +31,10 @@ expression: parse_ast Keyword { range: 22..31, arg: Some( - Identifier( - "keyword", - ), + Identifier { + id: "keyword", + range: 22..29, + }, ), value: Constant( ExprConstant { diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_lambda.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_lambda.snap index a2971926..4797c541 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_lambda.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_lambda.snap @@ -17,9 +17,10 @@ expression: parse_ast range: 7..8, def: Arg { range: 7..8, - arg: Identifier( - "x", - ), + arg: Identifier { + id: "x", + range: 7..8, + }, annotation: None, type_comment: None, }, @@ -29,9 +30,10 @@ expression: parse_ast range: 10..11, def: Arg { range: 10..11, - arg: Identifier( - "y", - ), + arg: Identifier { + id: "y", + range: 10..11, + }, annotation: None, type_comment: None, }, @@ -48,9 +50,7 @@ expression: parse_ast left: Name( ExprName { range: 13..14, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -58,9 +58,7 @@ expression: parse_ast right: Name( ExprName { range: 17..18, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_list_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_list_comprehension.snap index ef246765..2b7560f2 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_list_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_list_comprehension.snap @@ -8,9 +8,7 @@ ListComp( elt: Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -20,18 +18,14 @@ ListComp( target: Name( ExprName { range: 7..8, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), iter: Name( ExprName { range: 12..13, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_named_expression_generator_comprehension.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_named_expression_generator_comprehension.snap index 1bb5643b..d603f5e6 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_named_expression_generator_comprehension.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_named_expression_generator_comprehension.snap @@ -11,9 +11,7 @@ GeneratorExp( target: Name( ExprName { range: 1..2, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -23,9 +21,7 @@ GeneratorExp( left: Name( ExprName { range: 6..7, - id: Identifier( - "y", - ), + id: "y", ctx: Load, }, ), @@ -49,18 +45,14 @@ GeneratorExp( target: Name( ExprName { range: 16..17, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), iter: Name( ExprName { range: 21..22, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_2.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_2.snap index af722c3e..46376e27 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_2.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_2.snap @@ -12,9 +12,7 @@ expression: parse_ast func: Name( ExprName { range: 0..5, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_hello.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_hello.snap index 68b75119..4c55021c 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_hello.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_print_hello.snap @@ -12,9 +12,7 @@ expression: parse_ast func: Name( ExprName { range: 0..5, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_tuples.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_tuples.snap index c0172d1b..55b03e4d 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__parse_tuples.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_tuples.snap @@ -1,6 +1,6 @@ --- source: parser/src/parser.rs -expression: "parse_program(source, \"\").unwrap()" +expression: "ast::Suite::parse(source, \"\").unwrap()" --- [ Assign( @@ -14,18 +14,14 @@ expression: "parse_program(source, \"\").unwrap()" Name( ExprName { range: 0..1, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), Name( ExprName { range: 3..4, - id: Identifier( - "b", - ), + id: "b", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__parse_type_declaration.snap b/parser/src/snapshots/rustpython_parser__parser__tests__parse_type_declaration.snap new file mode 100644 index 00000000..a4fbb740 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__parser__tests__parse_type_declaration.snap @@ -0,0 +1,802 @@ +--- +source: parser/src/parser.rs +expression: "ast::Suite::parse(source, \"\").unwrap()" +--- +[ + TypeAlias( + StmtTypeAlias { + range: 1..13, + name: Name( + ExprName { + range: 6..7, + id: "X", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 10..13, + id: "int", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 14..32, + name: Name( + ExprName { + range: 19..20, + id: "X", + ctx: Load, + }, + ), + type_params: [], + value: BinOp( + ExprBinOp { + range: 23..32, + left: Name( + ExprName { + range: 23..26, + id: "int", + ctx: Load, + }, + ), + op: BitOr, + right: Name( + ExprName { + range: 29..32, + id: "str", + ctx: Load, + }, + ), + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 33..61, + name: Name( + ExprName { + range: 38..39, + id: "X", + ctx: Load, + }, + ), + type_params: [], + value: BinOp( + ExprBinOp { + range: 42..61, + left: Name( + ExprName { + range: 42..45, + id: "int", + ctx: Load, + }, + ), + op: BitOr, + right: Constant( + ExprConstant { + range: 48..61, + value: Str( + "ForwardRefY", + ), + kind: None, + }, + ), + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 62..88, + name: Name( + ExprName { + range: 67..68, + id: "X", + ctx: Load, + }, + ), + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 69..70, + name: Identifier { + id: "T", + range: 69..70, + }, + bound: None, + }, + ), + ], + value: BinOp( + ExprBinOp { + range: 74..88, + left: Name( + ExprName { + range: 74..75, + id: "T", + ctx: Load, + }, + ), + op: BitOr, + right: Subscript( + ExprSubscript { + range: 78..88, + value: Name( + ExprName { + range: 78..82, + id: "list", + ctx: Load, + }, + ), + slice: Subscript( + ExprSubscript { + range: 83..87, + value: Name( + ExprName { + range: 83..84, + id: "X", + ctx: Load, + }, + ), + slice: Name( + ExprName { + range: 85..86, + id: "T", + ctx: Load, + }, + ), + ctx: Load, + }, + ), + ctx: Load, + }, + ), + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 102..117, + name: Name( + ExprName { + range: 107..108, + id: "X", + ctx: Load, + }, + ), + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 109..110, + name: Identifier { + id: "T", + range: 109..110, + }, + bound: None, + }, + ), + ], + value: Name( + ExprName { + range: 114..117, + id: "int", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 118..146, + name: Name( + ExprName { + range: 123..124, + id: "X", + ctx: Load, + }, + ), + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 125..126, + name: Identifier { + id: "T", + range: 125..126, + }, + bound: None, + }, + ), + ], + value: BinOp( + ExprBinOp { + range: 130..146, + left: Subscript( + ExprSubscript { + range: 130..137, + value: Name( + ExprName { + range: 130..134, + id: "list", + ctx: Load, + }, + ), + slice: Name( + ExprName { + range: 135..136, + id: "T", + ctx: Load, + }, + ), + ctx: Load, + }, + ), + op: BitOr, + right: Subscript( + ExprSubscript { + range: 140..146, + value: Name( + ExprName { + range: 140..143, + id: "set", + ctx: Load, + }, + ), + slice: Name( + ExprName { + range: 144..145, + id: "T", + ctx: Load, + }, + ), + ctx: Load, + }, + ), + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 147..179, + name: Name( + ExprName { + range: 152..153, + id: "X", + ctx: Load, + }, + ), + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 154..155, + name: Identifier { + id: "T", + range: 154..155, + }, + bound: None, + }, + ), + TypeVarTuple( + TypeParamTypeVarTuple { + range: 157..160, + name: Identifier { + id: "Ts", + range: 158..160, + }, + }, + ), + ParamSpec( + TypeParamParamSpec { + range: 162..165, + name: Identifier { + id: "P", + range: 164..165, + }, + }, + ), + ], + value: Tuple( + ExprTuple { + range: 169..179, + elts: [ + Name( + ExprName { + range: 170..171, + id: "T", + ctx: Load, + }, + ), + Name( + ExprName { + range: 173..175, + id: "Ts", + ctx: Load, + }, + ), + Name( + ExprName { + range: 177..178, + id: "P", + ctx: Load, + }, + ), + ], + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 180..217, + name: Name( + ExprName { + range: 185..186, + id: "X", + ctx: Load, + }, + ), + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 187..193, + name: Identifier { + id: "T", + range: 187..188, + }, + bound: Some( + Name( + ExprName { + range: 190..193, + id: "int", + ctx: Load, + }, + ), + ), + }, + ), + TypeVarTuple( + TypeParamTypeVarTuple { + range: 195..198, + name: Identifier { + id: "Ts", + range: 196..198, + }, + }, + ), + ParamSpec( + TypeParamParamSpec { + range: 200..203, + name: Identifier { + id: "P", + range: 202..203, + }, + }, + ), + ], + value: Tuple( + ExprTuple { + range: 207..217, + elts: [ + Name( + ExprName { + range: 208..209, + id: "T", + ctx: Load, + }, + ), + Name( + ExprName { + range: 211..213, + id: "Ts", + ctx: Load, + }, + ), + Name( + ExprName { + range: 215..216, + id: "P", + ctx: Load, + }, + ), + ], + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 218..262, + name: Name( + ExprName { + range: 223..224, + id: "X", + ctx: Load, + }, + ), + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 225..238, + name: Identifier { + id: "T", + range: 225..226, + }, + bound: Some( + Tuple( + ExprTuple { + range: 228..238, + elts: [ + Name( + ExprName { + range: 229..232, + id: "int", + ctx: Load, + }, + ), + Name( + ExprName { + range: 234..237, + id: "str", + ctx: Load, + }, + ), + ], + ctx: Load, + }, + ), + ), + }, + ), + TypeVarTuple( + TypeParamTypeVarTuple { + range: 240..243, + name: Identifier { + id: "Ts", + range: 241..243, + }, + }, + ), + ParamSpec( + TypeParamParamSpec { + range: 245..248, + name: Identifier { + id: "P", + range: 247..248, + }, + }, + ), + ], + value: Tuple( + ExprTuple { + range: 252..262, + elts: [ + Name( + ExprName { + range: 253..254, + id: "T", + ctx: Load, + }, + ), + Name( + ExprName { + range: 256..258, + id: "Ts", + ctx: Load, + }, + ), + Name( + ExprName { + range: 260..261, + id: "P", + ctx: Load, + }, + ), + ], + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 293..308, + name: Name( + ExprName { + range: 298..302, + id: "type", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 305..308, + id: "int", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 311..327, + name: Name( + ExprName { + range: 316..321, + id: "match", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 324..327, + id: "int", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 328..343, + name: Name( + ExprName { + range: 333..337, + id: "case", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 340..343, + id: "int", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 369..384, + name: Name( + ExprName { + range: 374..377, + id: "foo", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 380..384, + id: "type", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 385..401, + name: Name( + ExprName { + range: 390..393, + id: "foo", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 396..401, + id: "match", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 402..417, + name: Name( + ExprName { + range: 407..410, + id: "foo", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 413..417, + id: "case", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 441..456, + name: Name( + ExprName { + range: 449..450, + id: "X", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 453..456, + id: "int", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 457..472, + name: Name( + ExprName { + range: 462..463, + id: "X", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 469..472, + id: "int", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 473..488, + name: Name( + ExprName { + range: 478..479, + id: "X", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 485..488, + id: "int", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 489..509, + name: Name( + ExprName { + range: 494..495, + id: "X", + ctx: Load, + }, + ), + type_params: [], + value: Name( + ExprName { + range: 504..507, + id: "int", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 510..529, + name: Name( + ExprName { + range: 521..522, + id: "X", + ctx: Load, + }, + ), + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 523..524, + name: Identifier { + id: "T", + range: 523..524, + }, + bound: None, + }, + ), + ], + value: Name( + ExprName { + range: 528..529, + id: "T", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 530..550, + name: Name( + ExprName { + range: 535..536, + id: "X", + ctx: Load, + }, + ), + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 544..545, + name: Identifier { + id: "T", + range: 544..545, + }, + bound: None, + }, + ), + ], + value: Name( + ExprName { + range: 549..550, + id: "T", + ctx: Load, + }, + ), + }, + ), + TypeAlias( + StmtTypeAlias { + range: 551..570, + name: Name( + ExprName { + range: 556..557, + id: "X", + ctx: Load, + }, + ), + type_params: [ + TypeVar( + TypeParamTypeVar { + range: 558..559, + name: Identifier { + id: "T", + range: 558..559, + }, + bound: None, + }, + ), + ], + value: Name( + ExprName { + range: 569..570, + id: "T", + ctx: Load, + }, + ), + }, + ), +] diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__patma.snap b/parser/src/snapshots/rustpython_parser__parser__tests__patma.snap index 7b3b5774..04b97fe9 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__patma.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__patma.snap @@ -9,9 +9,7 @@ expression: parse_ast subject: Name( ExprName { range: 73..74, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -48,9 +46,7 @@ expression: parse_ast Name( ExprName { range: 98..99, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -78,9 +74,7 @@ expression: parse_ast subject: Name( ExprName { range: 132..133, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -93,9 +87,7 @@ expression: parse_ast cls: Name( ExprName { range: 144..149, - id: Identifier( - "bytes", - ), + id: "bytes", ctx: Load, }, ), @@ -105,9 +97,10 @@ expression: parse_ast range: 150..151, pattern: None, name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 150..151, + }, ), }, ), @@ -125,9 +118,7 @@ expression: parse_ast Name( ExprName { range: 162..163, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -155,9 +146,7 @@ expression: parse_ast subject: Name( ExprName { range: 196..197, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -197,9 +186,7 @@ expression: parse_ast Name( ExprName { range: 224..225, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -253,9 +240,7 @@ expression: parse_ast Name( ExprName { range: 255..256, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -364,9 +349,7 @@ expression: parse_ast Name( ExprName { range: 324..325, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -394,9 +377,7 @@ expression: parse_ast subject: Name( ExprName { range: 361..362, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -489,9 +470,7 @@ expression: parse_ast Name( ExprName { range: 398..399, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -519,9 +498,7 @@ expression: parse_ast subject: Name( ExprName { range: 451..452, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -600,9 +577,7 @@ expression: parse_ast subject: Name( ExprName { range: 552..553, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -680,9 +655,7 @@ expression: parse_ast Name( ExprName { range: 589..590, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -918,9 +891,7 @@ expression: parse_ast Name( ExprName { range: 682..683, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -956,9 +927,7 @@ expression: parse_ast Name( ExprName { range: 709..710, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -986,9 +955,7 @@ expression: parse_ast subject: Name( ExprName { range: 743..744, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1034,9 +1001,7 @@ expression: parse_ast Name( ExprName { range: 777..778, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1064,9 +1029,7 @@ expression: parse_ast subject: Name( ExprName { range: 811..812, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1103,9 +1066,7 @@ expression: parse_ast Name( ExprName { range: 836..837, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1214,9 +1175,7 @@ expression: parse_ast Name( ExprName { range: 905..906, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -1244,9 +1203,7 @@ expression: parse_ast subject: Name( ExprName { range: 942..943, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1271,9 +1228,7 @@ expression: parse_ast Name( ExprName { range: 959..960, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1286,9 +1241,7 @@ expression: parse_ast Name( ExprName { range: 970..971, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1316,9 +1269,7 @@ expression: parse_ast subject: Name( ExprName { range: 1004..1005, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1367,9 +1318,7 @@ expression: parse_ast Name( ExprName { range: 1032..1033, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1432,9 +1381,7 @@ expression: parse_ast Name( ExprName { range: 1063..1064, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1461,9 +1408,10 @@ expression: parse_ast keys: [], patterns: [], rest: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 1081..1082, + }, ), }, ), @@ -1476,9 +1424,7 @@ expression: parse_ast Name( ExprName { range: 1093..1094, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1509,9 +1455,7 @@ expression: parse_ast func: Name( ExprName { range: 1127..1130, - id: Identifier( - "Seq", - ), + id: "Seq", ctx: Load, }, ), @@ -1544,9 +1488,7 @@ expression: parse_ast Name( ExprName { range: 1157..1158, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1574,9 +1516,7 @@ expression: parse_ast subject: Name( ExprName { range: 1191..1192, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1606,9 +1546,7 @@ expression: parse_ast Name( ExprName { range: 1214..1215, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1652,9 +1590,7 @@ expression: parse_ast Name( ExprName { range: 1240..1241, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1682,9 +1618,7 @@ expression: parse_ast subject: Name( ExprName { range: 1274..1275, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1711,9 +1645,10 @@ expression: parse_ast range: 1294..1297, pattern: None, name: Some( - Identifier( - "bar", - ), + Identifier { + id: "bar", + range: 1294..1297, + }, ), }, ), @@ -1730,9 +1665,7 @@ expression: parse_ast Name( ExprName { range: 1308..1309, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1740,9 +1673,7 @@ expression: parse_ast value: Name( ExprName { range: 1312..1315, - id: Identifier( - "bar", - ), + id: "bar", ctx: Load, }, ), @@ -1831,9 +1762,10 @@ expression: parse_ast PatternMatchStar { range: 1371..1373, name: Some( - Identifier( - "x", - ), + Identifier { + id: "x", + range: 1372..1373, + }, ), }, ), @@ -1863,9 +1795,7 @@ expression: parse_ast Name( ExprName { range: 1387..1388, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1893,9 +1823,7 @@ expression: parse_ast subject: Name( ExprName { range: 1421..1422, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -1932,9 +1860,7 @@ expression: parse_ast Name( ExprName { range: 1446..1447, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -1997,9 +1923,7 @@ expression: parse_ast target: Name( ExprName { range: 1472..1473, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -2009,9 +1933,7 @@ expression: parse_ast value: Name( ExprName { range: 1477..1478, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2047,9 +1969,7 @@ expression: parse_ast Name( ExprName { range: 1493..1494, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2114,9 +2034,7 @@ expression: parse_ast Name( ExprName { range: 1524..1525, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2144,9 +2062,7 @@ expression: parse_ast subject: Name( ExprName { range: 1558..1559, - id: Identifier( - "w", - ), + id: "w", ctx: Load, }, ), @@ -2162,9 +2078,10 @@ expression: parse_ast range: 1571..1572, pattern: None, name: Some( - Identifier( - "x", - ), + Identifier { + id: "x", + range: 1571..1572, + }, ), }, ), @@ -2173,9 +2090,10 @@ expression: parse_ast range: 1574..1575, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 1574..1575, + }, ), }, ), @@ -2197,9 +2115,7 @@ expression: parse_ast Name( ExprName { range: 1590..1591, - id: Identifier( - "z", - ), + id: "z", ctx: Store, }, ), @@ -2227,9 +2143,7 @@ expression: parse_ast subject: Name( ExprName { range: 1624..1625, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2281,9 +2195,7 @@ expression: parse_ast Name( ExprName { range: 1659..1660, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2315,9 +2227,7 @@ expression: parse_ast Name( ExprName { range: 1694..1695, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2337,9 +2247,10 @@ expression: parse_ast range: 1709..1710, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 1709..1710, + }, ), }, ), @@ -2355,9 +2266,7 @@ expression: parse_ast Name( ExprName { range: 1721..1722, - id: Identifier( - "z", - ), + id: "z", ctx: Store, }, ), @@ -2385,9 +2294,7 @@ expression: parse_ast subject: Name( ExprName { range: 1755..1756, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2409,27 +2316,28 @@ expression: parse_ast value: Name( ExprName { range: 1767..1768, - id: Identifier( - "A", - ), + id: "A", ctx: Load, }, ), - attr: Identifier( - "B", - ), + attr: Identifier { + id: "B", + range: 1769..1770, + }, ctx: Load, }, ), - attr: Identifier( - "C", - ), + attr: Identifier { + id: "C", + range: 1771..1772, + }, ctx: Load, }, ), - attr: Identifier( - "D", - ), + attr: Identifier { + id: "D", + range: 1773..1774, + }, ctx: Load, }, ), @@ -2444,9 +2352,7 @@ expression: parse_ast Name( ExprName { range: 1784..1785, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2474,9 +2380,7 @@ expression: parse_ast subject: Name( ExprName { range: 1818..1819, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2498,9 +2402,7 @@ expression: parse_ast Name( ExprName { range: 1844..1845, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2528,9 +2430,7 @@ expression: parse_ast subject: Name( ExprName { range: 1878..1879, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2560,9 +2460,7 @@ expression: parse_ast Name( ExprName { range: 1901..1902, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2590,9 +2488,7 @@ expression: parse_ast subject: Name( ExprName { range: 1935..1936, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2616,9 +2512,7 @@ expression: parse_ast Name( ExprName { range: 1962..1963, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2646,9 +2540,7 @@ expression: parse_ast subject: Name( ExprName { range: 1996..1997, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2670,9 +2562,7 @@ expression: parse_ast Name( ExprName { range: 2020..2021, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2723,9 +2613,7 @@ expression: parse_ast Name( ExprName { range: 2049..2050, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2769,9 +2657,7 @@ expression: parse_ast Name( ExprName { range: 2076..2077, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2799,9 +2685,7 @@ expression: parse_ast subject: Name( ExprName { range: 2110..2111, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2813,9 +2697,10 @@ expression: parse_ast range: 2122..2123, pattern: None, name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 2122..2123, + }, ), }, ), @@ -2828,9 +2713,7 @@ expression: parse_ast Name( ExprName { range: 2133..2134, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -2858,9 +2741,7 @@ expression: parse_ast subject: Name( ExprName { range: 2167..2168, - id: Identifier( - "w", - ), + id: "w", ctx: Load, }, ), @@ -2876,9 +2757,10 @@ expression: parse_ast range: 2180..2181, pattern: None, name: Some( - Identifier( - "x", - ), + Identifier { + id: "x", + range: 2180..2181, + }, ), }, ), @@ -2887,9 +2769,10 @@ expression: parse_ast range: 2183..2184, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 2183..2184, + }, ), }, ), @@ -2897,9 +2780,10 @@ expression: parse_ast PatternMatchStar { range: 2186..2191, name: Some( - Identifier( - "rest", - ), + Identifier { + id: "rest", + range: 2187..2191, + }, ), }, ), @@ -2915,9 +2799,7 @@ expression: parse_ast Name( ExprName { range: 2202..2203, - id: Identifier( - "z", - ), + id: "z", ctx: Store, }, ), @@ -2945,9 +2827,7 @@ expression: parse_ast subject: Name( ExprName { range: 2236..2237, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -2978,9 +2858,10 @@ expression: parse_ast ), ), name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 2254..2255, + }, ), }, ), @@ -3004,9 +2885,10 @@ expression: parse_ast ), ), name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 2265..2266, + }, ), }, ), @@ -3030,9 +2912,10 @@ expression: parse_ast ), ), name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 2276..2277, + }, ), }, ), @@ -3046,9 +2929,7 @@ expression: parse_ast left: Name( ExprName { range: 2282..2283, - id: Identifier( - "z", - ), + id: "z", ctx: Load, }, ), @@ -3062,9 +2943,7 @@ expression: parse_ast left: Name( ExprName { range: 2287..2288, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -3092,9 +2971,7 @@ expression: parse_ast Name( ExprName { range: 2302..2303, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3122,9 +2999,7 @@ expression: parse_ast subject: Name( ExprName { range: 2336..2337, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -3202,9 +3077,7 @@ expression: parse_ast Name( ExprName { range: 2373..2374, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3440,9 +3313,7 @@ expression: parse_ast Name( ExprName { range: 2467..2468, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3478,9 +3349,7 @@ expression: parse_ast Name( ExprName { range: 2494..2495, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3565,9 +3434,10 @@ expression: parse_ast PatternMatchStar { range: 2551..2553, name: Some( - Identifier( - "x", - ), + Identifier { + id: "x", + range: 2552..2553, + }, ), }, ), @@ -3583,9 +3453,7 @@ expression: parse_ast Name( ExprName { range: 2563..2564, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3656,9 +3524,10 @@ expression: parse_ast PatternMatchStar { range: 2617..2619, name: Some( - Identifier( - "x", - ), + Identifier { + id: "x", + range: 2618..2619, + }, ), }, ), @@ -3688,9 +3557,7 @@ expression: parse_ast Name( ExprName { range: 2633..2634, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -3718,9 +3585,7 @@ expression: parse_ast subject: Name( ExprName { range: 2667..2668, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -3736,9 +3601,10 @@ expression: parse_ast range: 2680..2681, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 2680..2681, + }, ), }, ), @@ -3754,9 +3620,7 @@ expression: parse_ast Name( ExprName { range: 2692..2693, - id: Identifier( - "z", - ), + id: "z", ctx: Store, }, ), @@ -3788,18 +3652,14 @@ expression: parse_ast Name( ExprName { range: 2726..2727, - id: Identifier( - "w", - ), + id: "w", ctx: Load, }, ), Name( ExprName { range: 2729..2730, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -3819,9 +3679,10 @@ expression: parse_ast range: 2741..2742, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 2741..2742, + }, ), }, ), @@ -3830,9 +3691,10 @@ expression: parse_ast range: 2744..2745, pattern: None, name: Some( - Identifier( - "z", - ), + Identifier { + id: "z", + range: 2744..2745, + }, ), }, ), @@ -3848,9 +3710,7 @@ expression: parse_ast Name( ExprName { range: 2755..2756, - id: Identifier( - "v", - ), + id: "v", ctx: Store, }, ), @@ -3881,18 +3741,14 @@ expression: parse_ast target: Name( ExprName { range: 2789..2790, - id: Identifier( - "w", - ), + id: "w", ctx: Store, }, ), value: Name( ExprName { range: 2794..2795, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), @@ -3914,17 +3770,19 @@ expression: parse_ast range: 2807..2808, pattern: None, name: Some( - Identifier( - "y", - ), + Identifier { + id: "y", + range: 2807..2808, + }, ), }, ), ), name: Some( - Identifier( - "v", - ), + Identifier { + id: "v", + range: 2812..2813, + }, ), }, ), @@ -3940,9 +3798,7 @@ expression: parse_ast Name( ExprName { range: 2824..2825, - id: Identifier( - "z", - ), + id: "z", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__slice.snap b/parser/src/snapshots/rustpython_parser__parser__tests__slice.snap index 8622a681..f994344c 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__slice.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__slice.snap @@ -8,9 +8,7 @@ Subscript( value: Name( ExprName { range: 0..1, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__star_index.snap b/parser/src/snapshots/rustpython_parser__parser__tests__star_index.snap index 8a43e4db..24ccff88 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__star_index.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__star_index.snap @@ -10,9 +10,7 @@ expression: parse_ast Name( ExprName { range: 0..11, - id: Identifier( - "array_slice", - ), + id: "array_slice", ctx: Store, }, ), @@ -23,9 +21,7 @@ expression: parse_ast value: Name( ExprName { range: 14..19, - id: Identifier( - "array", - ), + id: "array", ctx: Load, }, ), @@ -48,9 +44,7 @@ expression: parse_ast value: Name( ExprName { range: 24..31, - id: Identifier( - "indexes", - ), + id: "indexes", ctx: Load, }, ), @@ -92,9 +86,7 @@ expression: parse_ast value: Name( ExprName { range: 37..42, - id: Identifier( - "array", - ), + id: "array", ctx: Load, }, ), @@ -117,9 +109,7 @@ expression: parse_ast value: Name( ExprName { range: 47..54, - id: Identifier( - "indexes", - ), + id: "indexes", ctx: Load, }, ), @@ -152,9 +142,7 @@ expression: parse_ast value: Name( ExprName { range: 62..73, - id: Identifier( - "array_slice", - ), + id: "array_slice", ctx: Load, }, ), @@ -170,9 +158,7 @@ expression: parse_ast value: Name( ExprName { range: 74..79, - id: Identifier( - "array", - ), + id: "array", ctx: Load, }, ), @@ -186,9 +172,7 @@ expression: parse_ast value: Name( ExprName { range: 81..98, - id: Identifier( - "indexes_to_select", - ), + id: "indexes_to_select", ctx: Load, }, ), @@ -201,9 +185,7 @@ expression: parse_ast value: Name( ExprName { range: 101..118, - id: Identifier( - "indexes_to_select", - ), + id: "indexes_to_select", ctx: Load, }, ), @@ -228,9 +210,7 @@ expression: parse_ast value: Name( ExprName { range: 120..125, - id: Identifier( - "array", - ), + id: "array", ctx: Load, }, ), @@ -272,9 +252,7 @@ expression: parse_ast value: Name( ExprName { range: 132..149, - id: Identifier( - "indexes_to_select", - ), + id: "indexes_to_select", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__try.snap b/parser/src/snapshots/rustpython_parser__parser__tests__try.snap index 467e34f2..d76069a1 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__try.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__try.snap @@ -17,9 +17,7 @@ expression: parse_ast func: Name( ExprName { range: 15..25, - id: Identifier( - "ValueError", - ), + id: "ValueError", ctx: Load, }, ), @@ -50,17 +48,16 @@ expression: parse_ast Name( ExprName { range: 36..45, - id: Identifier( - "TypeError", - ), + id: "TypeError", ctx: Load, }, ), ), name: Some( - Identifier( - "e", - ), + Identifier { + id: "e", + range: 49..50, + }, ), body: [ Expr( @@ -72,9 +69,7 @@ expression: parse_ast func: Name( ExprName { range: 56..61, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -101,9 +96,7 @@ expression: parse_ast func: Name( ExprName { range: 72..76, - id: Identifier( - "type", - ), + id: "type", ctx: Load, }, ), @@ -111,9 +104,7 @@ expression: parse_ast Name( ExprName { range: 77..78, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), @@ -144,17 +135,16 @@ expression: parse_ast Name( ExprName { range: 90..97, - id: Identifier( - "OSError", - ), + id: "OSError", ctx: Load, }, ), ), name: Some( - Identifier( - "e", - ), + Identifier { + id: "e", + range: 101..102, + }, ), body: [ Expr( @@ -166,9 +156,7 @@ expression: parse_ast func: Name( ExprName { range: 108..113, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -195,9 +183,7 @@ expression: parse_ast func: Name( ExprName { range: 124..128, - id: Identifier( - "type", - ), + id: "type", ctx: Load, }, ), @@ -205,9 +191,7 @@ expression: parse_ast Name( ExprName { range: 129..130, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__try_star.snap b/parser/src/snapshots/rustpython_parser__parser__tests__try_star.snap index b5925f67..841d9823 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__try_star.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__try_star.snap @@ -17,9 +17,7 @@ expression: parse_ast func: Name( ExprName { range: 15..29, - id: Identifier( - "ExceptionGroup", - ), + id: "ExceptionGroup", ctx: Load, }, ), @@ -43,9 +41,7 @@ expression: parse_ast func: Name( ExprName { range: 45..55, - id: Identifier( - "ValueError", - ), + id: "ValueError", ctx: Load, }, ), @@ -69,9 +65,7 @@ expression: parse_ast func: Name( ExprName { range: 60..69, - id: Identifier( - "TypeError", - ), + id: "TypeError", ctx: Load, }, ), @@ -95,9 +89,7 @@ expression: parse_ast func: Name( ExprName { range: 74..81, - id: Identifier( - "OSError", - ), + id: "OSError", ctx: Load, }, ), @@ -121,9 +113,7 @@ expression: parse_ast func: Name( ExprName { range: 86..93, - id: Identifier( - "OSError", - ), + id: "OSError", ctx: Load, }, ), @@ -162,17 +152,16 @@ expression: parse_ast Name( ExprName { range: 107..116, - id: Identifier( - "TypeError", - ), + id: "TypeError", ctx: Load, }, ), ), name: Some( - Identifier( - "e", - ), + Identifier { + id: "e", + range: 120..121, + }, ), body: [ Expr( @@ -184,9 +173,7 @@ expression: parse_ast func: Name( ExprName { range: 127..132, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -213,9 +200,7 @@ expression: parse_ast func: Name( ExprName { range: 143..147, - id: Identifier( - "type", - ), + id: "type", ctx: Load, }, ), @@ -223,9 +208,7 @@ expression: parse_ast Name( ExprName { range: 148..149, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), @@ -255,15 +238,14 @@ expression: parse_ast value: Name( ExprName { range: 165..166, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), - attr: Identifier( - "exceptions", - ), + attr: Identifier { + id: "exceptions", + range: 167..177, + }, ctx: Load, }, ), @@ -290,17 +272,16 @@ expression: parse_ast Name( ExprName { range: 189..196, - id: Identifier( - "OSError", - ), + id: "OSError", ctx: Load, }, ), ), name: Some( - Identifier( - "e", - ), + Identifier { + id: "e", + range: 200..201, + }, ), body: [ Expr( @@ -312,9 +293,7 @@ expression: parse_ast func: Name( ExprName { range: 207..212, - id: Identifier( - "print", - ), + id: "print", ctx: Load, }, ), @@ -341,9 +320,7 @@ expression: parse_ast func: Name( ExprName { range: 223..227, - id: Identifier( - "type", - ), + id: "type", ctx: Load, }, ), @@ -351,9 +328,7 @@ expression: parse_ast Name( ExprName { range: 228..229, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), @@ -383,15 +358,14 @@ expression: parse_ast value: Name( ExprName { range: 245..246, - id: Identifier( - "e", - ), + id: "e", ctx: Load, }, ), - attr: Identifier( - "exceptions", - ), + attr: Identifier { + id: "exceptions", + range: 247..257, + }, ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__type_as_identifier.snap b/parser/src/snapshots/rustpython_parser__parser__tests__type_as_identifier.snap new file mode 100644 index 00000000..33e89aa2 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__parser__tests__type_as_identifier.snap @@ -0,0 +1,968 @@ +--- +source: parser/src/parser.rs +expression: "ast::Suite::parse(source, \"\").unwrap()" +--- +[ + Expr( + StmtExpr { + range: 2..16, + value: Tuple( + ExprTuple { + range: 2..16, + elts: [ + BinOp( + ExprBinOp { + range: 2..13, + left: BinOp( + ExprBinOp { + range: 2..9, + left: Name( + ExprName { + range: 2..6, + id: "type", + ctx: Load, + }, + ), + op: Mult, + right: Name( + ExprName { + range: 8..9, + id: "a", + ctx: Load, + }, + ), + }, + ), + op: Add, + right: Name( + ExprName { + range: 12..13, + id: "b", + ctx: Load, + }, + ), + }, + ), + Name( + ExprName { + range: 15..16, + id: "c", + ctx: Load, + }, + ), + ], + ctx: Load, + }, + ), + }, + ), + Expr( + StmtExpr { + range: 41..57, + value: Tuple( + ExprTuple { + range: 41..57, + elts: [ + BinOp( + ExprBinOp { + range: 41..54, + left: Name( + ExprName { + range: 41..45, + id: "type", + ctx: Load, + }, + ), + op: Mult, + right: BinOp( + ExprBinOp { + range: 48..53, + left: Name( + ExprName { + range: 48..49, + id: "a", + ctx: Load, + }, + ), + op: Add, + right: Name( + ExprName { + range: 52..53, + id: "b", + ctx: Load, + }, + ), + }, + ), + }, + ), + Name( + ExprName { + range: 56..57, + id: "c", + ctx: Load, + }, + ), + ], + ctx: Load, + }, + ), + }, + ), + Expr( + StmtExpr { + range: 82..98, + value: Call( + ExprCall { + range: 82..98, + func: Name( + ExprName { + range: 82..86, + id: "type", + ctx: Load, + }, + ), + args: [ + Starred( + ExprStarred { + range: 88..94, + value: BinOp( + ExprBinOp { + range: 89..94, + left: Name( + ExprName { + range: 89..90, + id: "a", + ctx: Load, + }, + ), + op: Add, + right: Name( + ExprName { + range: 93..94, + id: "b", + ctx: Load, + }, + ), + }, + ), + ctx: Load, + }, + ), + Name( + ExprName { + range: 96..97, + id: "c", + ctx: Load, + }, + ), + ], + keywords: [], + }, + ), + }, + ), + Expr( + StmtExpr { + range: 124..139, + value: BinOp( + ExprBinOp { + range: 124..139, + left: BinOp( + ExprBinOp { + range: 124..135, + left: Name( + ExprName { + range: 124..128, + id: "type", + ctx: Load, + }, + ), + op: Sub, + right: BinOp( + ExprBinOp { + range: 130..135, + left: Name( + ExprName { + range: 130..131, + id: "a", + ctx: Load, + }, + ), + op: Mult, + right: Name( + ExprName { + range: 134..135, + id: "b", + ctx: Load, + }, + ), + }, + ), + }, + ), + op: Add, + right: Name( + ExprName { + range: 138..139, + id: "c", + ctx: Load, + }, + ), + }, + ), + }, + ), + Expr( + StmtExpr { + range: 165..182, + value: BinOp( + ExprBinOp { + range: 165..182, + left: BinOp( + ExprBinOp { + range: 165..178, + left: Name( + ExprName { + range: 165..169, + id: "type", + ctx: Load, + }, + ), + op: Sub, + right: BinOp( + ExprBinOp { + range: 172..177, + left: Name( + ExprName { + range: 172..173, + id: "a", + ctx: Load, + }, + ), + op: Mult, + right: Name( + ExprName { + range: 176..177, + id: "b", + ctx: Load, + }, + ), + }, + ), + }, + ), + op: Add, + right: Name( + ExprName { + range: 181..182, + id: "c", + ctx: Load, + }, + ), + }, + ), + }, + ), + Expr( + StmtExpr { + range: 208..225, + value: BinOp( + ExprBinOp { + range: 208..225, + left: BinOp( + ExprBinOp { + range: 208..221, + left: Call( + ExprCall { + range: 208..217, + func: Name( + ExprName { + range: 208..212, + id: "type", + ctx: Load, + }, + ), + args: [ + UnaryOp( + ExprUnaryOp { + range: 214..216, + op: USub, + operand: Name( + ExprName { + range: 215..216, + id: "a", + ctx: Load, + }, + ), + }, + ), + ], + keywords: [], + }, + ), + op: Mult, + right: Name( + ExprName { + range: 220..221, + id: "b", + ctx: Load, + }, + ), + }, + ), + op: Add, + right: Name( + ExprName { + range: 224..225, + id: "c", + ctx: Load, + }, + ), + }, + ), + }, + ), + Expr( + StmtExpr { + range: 252..261, + value: Attribute( + ExprAttribute { + range: 252..261, + value: Call( + ExprCall { + range: 252..259, + func: Name( + ExprName { + range: 252..256, + id: "type", + ctx: Load, + }, + ), + args: [], + keywords: [], + }, + ), + attr: Identifier { + id: "a", + range: 260..261, + }, + ctx: Load, + }, + ), + }, + ), + Expr( + StmtExpr { + range: 277..288, + value: Attribute( + ExprAttribute { + range: 277..288, + value: Call( + ExprCall { + range: 277..286, + func: Name( + ExprName { + range: 277..281, + id: "type", + ctx: Load, + }, + ), + args: [ + Tuple( + ExprTuple { + range: 283..285, + elts: [], + ctx: Load, + }, + ), + ], + keywords: [], + }, + ), + attr: Identifier { + id: "a", + range: 287..288, + }, + ctx: Load, + }, + ), + }, + ), + Expr( + StmtExpr { + range: 306..318, + value: Attribute( + ExprAttribute { + range: 306..318, + value: Call( + ExprCall { + range: 306..316, + func: Name( + ExprName { + range: 306..310, + id: "type", + ctx: Load, + }, + ), + args: [ + Tuple( + ExprTuple { + range: 312..314, + elts: [], + ctx: Load, + }, + ), + ], + keywords: [], + }, + ), + attr: Identifier { + id: "a", + range: 317..318, + }, + ctx: Load, + }, + ), + }, + ), + Expr( + StmtExpr { + range: 336..346, + value: Attribute( + ExprAttribute { + range: 336..346, + value: Subscript( + ExprSubscript { + range: 336..344, + value: Name( + ExprName { + range: 336..340, + id: "type", + ctx: Load, + }, + ), + slice: Name( + ExprName { + range: 342..343, + id: "a", + ctx: Load, + }, + ), + ctx: Load, + }, + ), + attr: Identifier { + id: "b", + range: 345..346, + }, + ctx: Load, + }, + ), + }, + ), + Expr( + StmtExpr { + range: 363..374, + value: Attribute( + ExprAttribute { + range: 363..374, + value: Subscript( + ExprSubscript { + range: 363..372, + value: Name( + ExprName { + range: 363..367, + id: "type", + ctx: Load, + }, + ), + slice: Tuple( + ExprTuple { + range: 369..371, + elts: [ + Name( + ExprName { + range: 369..370, + id: "a", + ctx: Load, + }, + ), + ], + ctx: Load, + }, + ), + ctx: Load, + }, + ), + attr: Identifier { + id: "b", + range: 373..374, + }, + ctx: Load, + }, + ), + }, + ), + Expr( + StmtExpr { + range: 413..426, + value: Attribute( + ExprAttribute { + range: 413..426, + value: Subscript( + ExprSubscript { + range: 413..424, + value: Name( + ExprName { + range: 413..417, + id: "type", + ctx: Load, + }, + ), + slice: Tuple( + ExprTuple { + range: 419..423, + elts: [ + Name( + ExprName { + range: 420..421, + id: "a", + ctx: Load, + }, + ), + ], + ctx: Load, + }, + ), + ctx: Load, + }, + ), + attr: Identifier { + id: "b", + range: 425..426, + }, + ctx: Load, + }, + ), + }, + ), + Expr( + StmtExpr { + range: 446..462, + value: Subscript( + ExprSubscript { + range: 446..462, + value: Call( + ExprCall { + range: 446..452, + func: Name( + ExprName { + range: 446..450, + id: "type", + ctx: Load, + }, + ), + args: [], + keywords: [], + }, + ), + slice: Slice( + ExprSlice { + range: 453..461, + lower: Some( + Name( + ExprName { + range: 453..454, + id: "a", + ctx: Load, + }, + ), + ), + upper: Some( + Name( + ExprName { + range: 460..461, + id: "b", + ctx: Load, + }, + ), + ), + step: None, + }, + ), + ctx: Load, + }, + ), + }, + ), + If( + StmtIf { + range: 481..499, + test: NamedExpr( + ExprNamedExpr { + range: 484..493, + target: Name( + ExprName { + range: 484..488, + id: "type", + ctx: Store, + }, + ), + value: Constant( + ExprConstant { + range: 492..493, + value: Int( + 1, + ), + kind: None, + }, + ), + }, + ), + body: [ + Pass( + StmtPass { + range: 495..499, + }, + ), + ], + orelse: [], + }, + ), + Assign( + StmtAssign { + range: 500..535, + targets: [ + Name( + ExprName { + range: 500..504, + id: "type", + ctx: Store, + }, + ), + ], + value: Lambda( + ExprLambda { + range: 507..535, + args: Arguments { + range: 514..519, + posonlyargs: [], + args: [ + ArgWithDefault { + range: 514..519, + def: Arg { + range: 514..519, + arg: Identifier { + id: "query", + range: 514..519, + }, + annotation: None, + type_comment: None, + }, + default: None, + }, + ], + vararg: None, + kwonlyargs: [], + kwarg: None, + }, + body: Compare( + ExprCompare { + range: 521..535, + left: Name( + ExprName { + range: 521..526, + id: "query", + ctx: Load, + }, + ), + ops: [ + Eq, + ], + comparators: [ + Name( + ExprName { + range: 530..535, + id: "event", + ctx: Load, + }, + ), + ], + }, + ), + }, + ), + type_comment: None, + }, + ), + Expr( + StmtExpr { + range: 536..551, + value: Call( + ExprCall { + range: 536..551, + func: Name( + ExprName { + range: 536..541, + id: "print", + ctx: Load, + }, + ), + args: [ + Call( + ExprCall { + range: 542..550, + func: Name( + ExprName { + range: 542..546, + id: "type", + ctx: Load, + }, + ), + args: [ + Constant( + ExprConstant { + range: 547..549, + value: Int( + 12, + ), + kind: None, + }, + ), + ], + keywords: [], + }, + ), + ], + keywords: [], + }, + ), + }, + ), + Expr( + StmtExpr { + range: 552..562, + value: Call( + ExprCall { + range: 552..562, + func: Name( + ExprName { + range: 552..556, + id: "type", + ctx: Load, + }, + ), + args: [ + Name( + ExprName { + range: 557..561, + id: "type", + ctx: Load, + }, + ), + ], + keywords: [], + }, + ), + }, + ), + Assign( + StmtAssign { + range: 563..581, + targets: [ + Name( + ExprName { + range: 563..564, + id: "a", + ctx: Store, + }, + ), + ], + value: Compare( + ExprCompare { + range: 570..579, + left: Name( + ExprName { + range: 570..574, + id: "type", + ctx: Load, + }, + ), + ops: [ + In, + ], + comparators: [ + Name( + ExprName { + range: 578..579, + id: "C", + ctx: Load, + }, + ), + ], + }, + ), + type_comment: None, + }, + ), + Assign( + StmtAssign { + range: 582..598, + targets: [ + Name( + ExprName { + range: 582..583, + id: "a", + ctx: Store, + }, + ), + ], + value: Call( + ExprCall { + range: 589..596, + func: Name( + ExprName { + range: 589..593, + id: "type", + ctx: Load, + }, + ), + args: [ + Name( + ExprName { + range: 594..595, + id: "b", + ctx: Load, + }, + ), + ], + keywords: [], + }, + ), + type_comment: None, + }, + ), + Expr( + StmtExpr { + range: 599..616, + value: Call( + ExprCall { + range: 599..616, + func: Name( + ExprName { + range: 599..603, + id: "type", + ctx: Load, + }, + ), + args: [], + keywords: [ + Keyword { + range: 607..614, + arg: Some( + Identifier { + id: "X", + range: 607..608, + }, + ), + value: Name( + ExprName { + range: 611..614, + id: "int", + ctx: Load, + }, + ), + }, + ], + }, + ), + }, + ), + Assign( + StmtAssign { + range: 617..625, + targets: [ + Name( + ExprName { + range: 617..621, + id: "type", + ctx: Store, + }, + ), + ], + value: Constant( + ExprConstant { + range: 624..625, + value: Int( + 1, + ), + kind: None, + }, + ), + type_comment: None, + }, + ), + Assign( + StmtAssign { + range: 626..638, + targets: [ + Name( + ExprName { + range: 626..630, + id: "type", + ctx: Store, + }, + ), + Name( + ExprName { + range: 633..634, + id: "x", + ctx: Store, + }, + ), + ], + value: Constant( + ExprConstant { + range: 637..638, + value: Int( + 1, + ), + kind: None, + }, + ), + type_comment: None, + }, + ), + Assign( + StmtAssign { + range: 639..651, + targets: [ + Name( + ExprName { + range: 639..640, + id: "x", + ctx: Store, + }, + ), + Name( + ExprName { + range: 643..647, + id: "type", + ctx: Store, + }, + ), + ], + value: Constant( + ExprConstant { + range: 650..651, + value: Int( + 1, + ), + kind: None, + }, + ), + type_comment: None, + }, + ), +] diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap b/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap index 8590915a..045b8e8a 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__variadic_generics.snap @@ -6,19 +6,21 @@ expression: parse_ast FunctionDef( StmtFunctionDef { range: 1..49, - name: Identifier( - "args_to_tuple", - ), + name: Identifier { + id: "args_to_tuple", + range: 5..18, + }, args: Arguments { - range: 19..29, + range: 18..30, posonlyargs: [], args: [], vararg: Some( Arg { range: 20..29, - arg: Identifier( - "args", - ), + arg: Identifier { + id: "args", + range: 20..24, + }, annotation: Some( Starred( ExprStarred { @@ -26,9 +28,7 @@ expression: parse_ast value: Name( ExprName { range: 27..29, - id: Identifier( - "Ts", - ), + id: "Ts", ctx: Load, }, ), @@ -64,9 +64,7 @@ expression: parse_ast value: Name( ExprName { range: 34..39, - id: Identifier( - "Tuple", - ), + id: "Tuple", ctx: Load, }, ), @@ -76,9 +74,7 @@ expression: parse_ast value: Name( ExprName { range: 41..43, - id: Identifier( - "Ts", - ), + id: "Ts", ctx: Load, }, ), @@ -90,6 +86,7 @@ expression: parse_ast ), ), type_comment: None, + type_params: [], }, ), ] diff --git a/parser/src/snapshots/rustpython_parser__parser__tests__with_statement.snap b/parser/src/snapshots/rustpython_parser__parser__tests__with_statement.snap index d59ac12b..5530e674 100644 --- a/parser/src/snapshots/rustpython_parser__parser__tests__with_statement.snap +++ b/parser/src/snapshots/rustpython_parser__parser__tests__with_statement.snap @@ -50,9 +50,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 23..24, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -129,9 +127,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 57..58, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -152,9 +148,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 65..66, - id: Identifier( - "y", - ), + id: "y", ctx: Store, }, ), @@ -264,9 +258,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 120..121, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -326,9 +318,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 153..154, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -392,9 +382,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 188..189, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -466,9 +454,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 225..226, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -562,9 +548,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 266..267, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -597,9 +581,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" value: Name( ExprName { range: 281..282, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -639,9 +621,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" value: Name( ExprName { range: 298..299, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -656,9 +636,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 305..306, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -700,9 +678,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" value: Name( ExprName { range: 323..324, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -751,9 +727,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" value: Name( ExprName { range: 342..343, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -768,9 +742,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 348..349, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -799,9 +771,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 362..363, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -841,9 +811,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 382..383, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -862,9 +830,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 393..394, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -897,9 +863,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 407..408, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -920,9 +884,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 415..416, - id: Identifier( - "b", - ), + id: "b", ctx: Store, }, ), @@ -970,9 +932,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 435..436, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -993,9 +953,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" target: Name( ExprName { range: 443..444, - id: Identifier( - "b", - ), + id: "b", ctx: Store, }, ), @@ -1018,9 +976,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 454..455, - id: Identifier( - "x", - ), + id: "x", ctx: Store, }, ), @@ -1056,9 +1012,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 473..474, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -1094,9 +1048,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 493..494, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -1132,9 +1084,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 514..515, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -1155,9 +1105,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 522..523, - id: Identifier( - "b", - ), + id: "b", ctx: Store, }, ), @@ -1193,9 +1141,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 542..543, - id: Identifier( - "a", - ), + id: "a", ctx: Store, }, ), @@ -1216,9 +1162,7 @@ expression: "ast::Suite::parse(source, \"\").unwrap()" Name( ExprName { range: 550..551, - id: Identifier( - "b", - ), + id: "b", ctx: Store, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_character.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_character.snap index 942ce114..a7e92554 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_character.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_character.snap @@ -25,9 +25,7 @@ expression: parse_ast value: Name( ExprName { range: 5..6, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_newline.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_newline.snap index df9b65ba..276bff7b 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_newline.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_escaped_newline.snap @@ -25,9 +25,7 @@ expression: parse_ast value: Name( ExprName { range: 5..6, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_line_continuation.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_line_continuation.snap index 80923028..6b536a08 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_line_continuation.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_line_continuation.snap @@ -25,9 +25,7 @@ expression: parse_ast value: Name( ExprName { range: 6..7, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base.snap index 66613b1e..33eed095 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base.snap @@ -27,9 +27,7 @@ expression: parse_ast value: Name( ExprName { range: 3..7, - id: Identifier( - "user", - ), + id: "user", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base_more.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base_more.snap index 8d86b0c4..8ce8de79 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base_more.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_base_more.snap @@ -36,9 +36,7 @@ expression: parse_ast value: Name( ExprName { range: 7..11, - id: Identifier( - "user", - ), + id: "user", ctx: Load, }, ), @@ -79,9 +77,7 @@ expression: parse_ast value: Name( ExprName { range: 29..35, - id: Identifier( - "second", - ), + id: "second", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_format.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_format.snap index 458ca1ee..9e4391e4 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_format.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_parse_self_documenting_format.snap @@ -27,9 +27,7 @@ expression: parse_ast value: Name( ExprName { range: 3..7, - id: Identifier( - "user", - ), + id: "user", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__fstring_unescaped_newline.snap b/parser/src/snapshots/rustpython_parser__string__tests__fstring_unescaped_newline.snap index 72e1f421..18d0dd5e 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__fstring_unescaped_newline.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__fstring_unescaped_newline.snap @@ -25,9 +25,7 @@ expression: parse_ast value: Name( ExprName { range: 6..7, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring.snap b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring.snap index 75707ef5..aeb71829 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring.snap @@ -9,9 +9,7 @@ expression: parse_ast value: Name( ExprName { range: 3..4, - id: Identifier( - "a", - ), + id: "a", ctx: Load, }, ), @@ -25,9 +23,7 @@ expression: parse_ast value: Name( ExprName { range: 7..8, - id: Identifier( - "b", - ), + id: "b", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_nested_spec.snap b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_nested_spec.snap index 5a1bd11f..61462e3a 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_nested_spec.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_nested_spec.snap @@ -9,9 +9,7 @@ expression: parse_ast value: Name( ExprName { range: 3..6, - id: Identifier( - "foo", - ), + id: "foo", ctx: Load, }, ), @@ -27,9 +25,7 @@ expression: parse_ast value: Name( ExprName { range: 8..12, - id: Identifier( - "spec", - ), + id: "spec", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_not_nested_spec.snap b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_not_nested_spec.snap index 1331a891..dfc93454 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_not_nested_spec.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_not_nested_spec.snap @@ -9,9 +9,7 @@ expression: parse_ast value: Name( ExprName { range: 3..6, - id: Identifier( - "foo", - ), + id: "foo", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_prec_space.snap b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_prec_space.snap index d1514337..f02d4cef 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_prec_space.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_prec_space.snap @@ -27,9 +27,7 @@ expression: parse_ast value: Name( ExprName { range: 3..4, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_trailing_space.snap b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_trailing_space.snap index 8ce955b0..c74ea03b 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_trailing_space.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__parse_fstring_self_doc_trailing_space.snap @@ -27,9 +27,7 @@ expression: parse_ast value: Name( ExprName { range: 3..4, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__raw_fstring.snap b/parser/src/snapshots/rustpython_parser__string__tests__raw_fstring.snap index 79258eac..d6f10352 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__raw_fstring.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__raw_fstring.snap @@ -16,9 +16,7 @@ expression: parse_ast value: Name( ExprName { range: 4..5, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/snapshots/rustpython_parser__string__tests__triple_quoted_raw_fstring.snap b/parser/src/snapshots/rustpython_parser__string__tests__triple_quoted_raw_fstring.snap index d3660102..759ece38 100644 --- a/parser/src/snapshots/rustpython_parser__string__tests__triple_quoted_raw_fstring.snap +++ b/parser/src/snapshots/rustpython_parser__string__tests__triple_quoted_raw_fstring.snap @@ -16,9 +16,7 @@ expression: parse_ast value: Name( ExprName { range: 6..7, - id: Identifier( - "x", - ), + id: "x", ctx: Load, }, ), diff --git a/parser/src/soft_keywords.rs b/parser/src/soft_keywords.rs index 56edadd0..9abcd395 100644 --- a/parser/src/soft_keywords.rs +++ b/parser/src/soft_keywords.rs @@ -2,14 +2,17 @@ use crate::{lexer::LexResult, token::Tok, Mode}; use itertools::{Itertools, MultiPeek}; /// An [`Iterator`] that transforms a token stream to accommodate soft keywords (namely, `match` -/// and `case`). +/// `case`, and `type`). /// /// [PEP 634](https://www.python.org/dev/peps/pep-0634/) introduced the `match` and `case` keywords /// as soft keywords, meaning that they can be used as identifiers (e.g., variable names) in certain /// contexts. /// +/// Later, [PEP 695](https://peps.python.org/pep-0695/#generic-type-alias) introduced the `type` +/// soft keyword. +/// /// This function modifies a token stream to accommodate this change. In particular, it replaces -/// `match` and `case` tokens with `identifier` tokens if they are used as identifiers. +/// soft keyword tokens with `identifier` tokens if they are used as identifiers. /// /// Handling soft keywords in this intermediary pass allows us to simplify both the lexer and /// parser, as neither of them need to be aware of soft keywords. @@ -43,44 +46,89 @@ where fn next(&mut self) -> Option { let mut next = self.underlying.next(); if let Some(Ok((tok, range))) = next.as_ref() { - // If the token is a `match` or `case` token, check if it's used as an identifier. - // We assume every `match` or `case` is an identifier unless both of the following - // conditions are met: - // 1. The token is at the start of a logical line. - // 2. The logical line contains a top-level colon (that is, a colon that is not nested - // inside a parenthesized expression, list, or dictionary). - // 3. The top-level colon is not the immediate sibling of a `match` or `case` token. - // (This is to avoid treating `match` and `case` as identifiers when annotated with - // type hints.) - if matches!(tok, Tok::Match | Tok::Case) { - if !self.start_of_line { - next = Some(Ok((soft_to_name(tok), *range))); - } else { - let mut nesting = 0; - let mut first = true; - let mut seen_colon = false; - let mut seen_lambda = false; - while let Some(Ok((tok, _))) = self.underlying.peek() { - match tok { - Tok::Newline => break, - Tok::Lambda if nesting == 0 => seen_lambda = true, - Tok::Colon if nesting == 0 => { - if seen_lambda { - seen_lambda = false; - } else if !first { - seen_colon = true; + // If the token is a soft keyword e.g. `type`, `match`, or `case`, check if it's + // used as an identifier. We assume every soft keyword use is an identifier unless + // a heuristic is met. + + match tok { + // For `match` and `case`, all of the following conditions must be met: + // 1. The token is at the start of a logical line. + // 2. The logical line contains a top-level colon (that is, a colon that is not nested + // inside a parenthesized expression, list, or dictionary). + // 3. The top-level colon is not the immediate sibling of a `match` or `case` token. + // (This is to avoid treating `match` or `case` as identifiers when annotated with + // type hints.) type hints.) + Tok::Match | Tok::Case => { + if !self.start_of_line { + next = Some(Ok((soft_to_name(tok), *range))); + } else { + let mut nesting = 0; + let mut first = true; + let mut seen_colon = false; + let mut seen_lambda = false; + while let Some(Ok((tok, _))) = self.underlying.peek() { + match tok { + Tok::Newline => break, + Tok::Lambda if nesting == 0 => seen_lambda = true, + Tok::Colon if nesting == 0 => { + if seen_lambda { + seen_lambda = false; + } else if !first { + seen_colon = true; + } } + Tok::Lpar | Tok::Lsqb | Tok::Lbrace => nesting += 1, + Tok::Rpar | Tok::Rsqb | Tok::Rbrace => nesting -= 1, + _ => {} } - Tok::Lpar | Tok::Lsqb | Tok::Lbrace => nesting += 1, - Tok::Rpar | Tok::Rsqb | Tok::Rbrace => nesting -= 1, - _ => {} + first = false; + } + if !seen_colon { + next = Some(Ok((soft_to_name(tok), *range))); } - first = false; } - if !seen_colon { + } + // For `type` all of the following conditions must be met: + // 1. The token is at the start of a logical line. + // 2. The type token is immediately followed by a name token. + // 3. The name token is eventually followed by an equality token. + Tok::Type => { + if !self.start_of_line { next = Some(Ok((soft_to_name(tok), *range))); + } else { + let mut is_type_alias = false; + if let Some(Ok((tok, _))) = self.underlying.peek() { + if matches!( + tok, + Tok::Name { .. } | + // We treat a soft keyword token following a type token as a + // name to support cases like `type type = int` or `type match = int` + Tok::Type | Tok::Match | Tok::Case + ) { + let mut nesting = 0; + while let Some(Ok((tok, _))) = self.underlying.peek() { + match tok { + Tok::Newline => break, + Tok::Equal if nesting == 0 => { + is_type_alias = true; + break; + } + Tok::Lsqb => nesting += 1, + Tok::Rsqb => nesting -= 1, + // Allow arbitrary content within brackets for now + _ if nesting > 0 => {} + // Exit if unexpected tokens are seen + _ => break, + } + } + } + } + if !is_type_alias { + next = Some(Ok((soft_to_name(tok), *range))); + } } } + _ => (), // Not a soft keyword token } } @@ -111,6 +159,7 @@ fn soft_to_name(tok: &Tok) -> Tok { let name = match tok { Tok::Match => "match", Tok::Case => "case", + Tok::Type => "type", _ => unreachable!("other tokens never reach here"), }; Tok::Name { diff --git a/parser/src/token.rs b/parser/src/token.rs index f472eeb7..f95401f7 100644 --- a/parser/src/token.rs +++ b/parser/src/token.rs @@ -188,6 +188,7 @@ pub enum Tok { Try, While, Match, + Type, Case, With, Yield, @@ -315,6 +316,7 @@ impl fmt::Display for Tok { Try => f.write_str("'try'"), While => f.write_str("'while'"), Match => f.write_str("'match'"), + Type => f.write_str("'type'"), Case => f.write_str("'case'"), With => f.write_str("'with'"), Yield => f.write_str("'yield'"), diff --git a/ruff_source_location/Cargo.toml b/ruff_source_location/Cargo.toml deleted file mode 100644 index 35123075..00000000 --- a/ruff_source_location/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -# NOTE: RUSTPYTHON -# This crate is not a real crate of ruff, but cut off a part of `ruff_python_ast` and vendored it to avoid cross dependency - -[package] -name = "ruff_source_location" -version = "0.0.0" -publish = false -edition = { workspace = true } -rust-version = { workspace = true } - -[lib] - -[dependencies] -ruff_text_size = { path = "../ruff_text_size" } - -memchr = { workspace = true } -once_cell = { workspace = true } diff --git a/ruff_source_location/src/lib.rs b/ruff_source_location/src/lib.rs deleted file mode 100644 index c7e8b9f6..00000000 --- a/ruff_source_location/src/lib.rs +++ /dev/null @@ -1,227 +0,0 @@ -mod line_index; -// mod locator; -pub mod newlines; - -pub use crate::line_index::{LineIndex, OneIndexed}; -// TODO: RUSTPYTHON; import it later -// pub use locator::Locator; -use ruff_text_size::{TextRange, TextSize}; -#[cfg(feature = "serde")] -use serde::{Deserialize, Serialize}; -use std::fmt::{Debug, Formatter}; -use std::sync::Arc; - -/// Gives access to the source code of a file and allows mapping between [`TextSize`] and [`SourceLocation`]. -#[derive(Debug)] -pub struct SourceCode<'src, 'index> { - text: &'src str, - index: &'index LineIndex, -} - -impl<'src, 'index> SourceCode<'src, 'index> { - pub fn new(content: &'src str, index: &'index LineIndex) -> Self { - Self { - text: content, - index, - } - } - - /// Computes the one indexed row and column numbers for `offset`. - #[inline] - pub fn source_location(&self, offset: TextSize) -> SourceLocation { - self.index.source_location(offset, self.text) - } - - #[inline] - pub fn line_index(&self, offset: TextSize) -> OneIndexed { - self.index.line_index(offset) - } - - /// Take the source code up to the given [`TextSize`]. - #[inline] - pub fn up_to(&self, offset: TextSize) -> &'src str { - &self.text[TextRange::up_to(offset)] - } - - /// Take the source code after the given [`TextSize`]. - #[inline] - pub fn after(&self, offset: TextSize) -> &'src str { - &self.text[usize::from(offset)..] - } - - /// Take the source code between the given [`TextRange`]. - pub fn slice(&self, range: TextRange) -> &'src str { - &self.text[range] - } - - pub fn line_start(&self, line: OneIndexed) -> TextSize { - self.index.line_start(line, self.text) - } - - pub fn line_end(&self, line: OneIndexed) -> TextSize { - self.index.line_end(line, self.text) - } - - pub fn line_range(&self, line: OneIndexed) -> TextRange { - self.index.line_range(line, self.text) - } - - /// Returns the source text of the line with the given index - #[inline] - pub fn line_text(&self, index: OneIndexed) -> &'src str { - let range = self.index.line_range(index, self.text); - &self.text[range] - } - - /// Returns the source text - pub fn text(&self) -> &'src str { - self.text - } - - /// Returns the number of lines - #[inline] - pub fn line_count(&self) -> usize { - self.index.line_count() - } -} - -impl PartialEq for SourceCode<'_, '_> { - fn eq(&self, other: &Self) -> bool { - self.text == other.text - } -} - -impl Eq for SourceCode<'_, '_> {} - -/// A Builder for constructing a [`SourceFile`] -pub struct SourceFileBuilder { - name: Box, - code: Box, - index: Option, -} - -impl SourceFileBuilder { - /// Creates a new builder for a file named `name`. - pub fn new>, Code: Into>>(name: Name, code: Code) -> Self { - Self { - name: name.into(), - code: code.into(), - index: None, - } - } - - #[must_use] - pub fn line_index(mut self, index: LineIndex) -> Self { - self.index = Some(index); - self - } - - pub fn set_line_index(&mut self, index: LineIndex) { - self.index = Some(index); - } - - /// Consumes `self` and returns the [`SourceFile`]. - pub fn finish(self) -> SourceFile { - let index = if let Some(index) = self.index { - once_cell::sync::OnceCell::with_value(index) - } else { - once_cell::sync::OnceCell::new() - }; - - SourceFile { - inner: Arc::new(SourceFileInner { - name: self.name, - code: self.code, - line_index: index, - }), - } - } -} - -/// A source file that is identified by its name. Optionally stores the source code and [`LineIndex`]. -/// -/// Cloning a [`SourceFile`] is cheap, because it only requires bumping a reference count. -#[derive(Clone, Eq, PartialEq)] -pub struct SourceFile { - inner: Arc, -} - -impl Debug for SourceFile { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.debug_struct("SourceFile") - .field("name", &self.name()) - .field("code", &self.source_text()) - .finish() - } -} - -impl SourceFile { - /// Returns the name of the source file (filename). - #[inline] - pub fn name(&self) -> &str { - &self.inner.name - } - - #[inline] - pub fn slice(&self, range: TextRange) -> &str { - &self.source_text()[range] - } - - pub fn to_source_code(&self) -> SourceCode { - SourceCode { - text: self.source_text(), - index: self.index(), - } - } - - fn index(&self) -> &LineIndex { - self.inner - .line_index - .get_or_init(|| LineIndex::from_source_text(self.source_text())) - } - - /// Returns `Some` with the source text if set, or `None`. - #[inline] - pub fn source_text(&self) -> &str { - &self.inner.code - } -} - -struct SourceFileInner { - name: Box, - code: Box, - line_index: once_cell::sync::OnceCell, -} - -impl PartialEq for SourceFileInner { - fn eq(&self, other: &Self) -> bool { - self.name == other.name && self.code == other.code - } -} - -impl Eq for SourceFileInner {} - -#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Copy)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -pub struct SourceLocation { - pub row: OneIndexed, - pub column: OneIndexed, -} - -impl Default for SourceLocation { - fn default() -> Self { - Self { - row: OneIndexed::MIN, - column: OneIndexed::MIN, - } - } -} - -impl Debug for SourceLocation { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.debug_struct("SourceLocation") - .field("row", &self.row.get()) - .field("column", &self.column.get()) - .finish() - } -} diff --git a/ruff_source_location/src/line_index.rs b/ruff_source_location/src/line_index.rs deleted file mode 100644 index 35041b00..00000000 --- a/ruff_source_location/src/line_index.rs +++ /dev/null @@ -1,630 +0,0 @@ -use crate::SourceLocation; -use ruff_text_size::{TextLen, TextRange, TextSize}; -#[cfg(feature = "serde")] -use serde::{Deserialize, Serialize}; -use std::fmt; -use std::fmt::{Debug, Formatter}; -use std::num::NonZeroU32; -use std::ops::Deref; -use std::sync::Arc; - -/// Index for fast [byte offset](TextSize) to [`SourceLocation`] conversions. -/// -/// Cloning a [`LineIndex`] is cheap because it only requires bumping a reference count. -#[derive(Clone)] -pub struct LineIndex { - inner: Arc, -} - -struct LineIndexInner { - line_starts: Vec, - kind: IndexKind, -} - -impl LineIndex { - /// Builds the [`LineIndex`] from the source text of a file. - pub fn from_source_text(text: &str) -> Self { - let mut line_starts: Vec = Vec::with_capacity(text.len() / 88); - line_starts.push(TextSize::default()); - - let bytes = text.as_bytes(); - let mut utf8 = false; - - assert!(u32::try_from(bytes.len()).is_ok()); - - for (i, byte) in bytes.iter().enumerate() { - utf8 |= !byte.is_ascii(); - - match byte { - // Only track one line break for `\r\n`. - b'\r' if bytes.get(i + 1) == Some(&b'\n') => continue, - b'\n' | b'\r' => { - // SAFETY: Assertion above guarantees `i <= u32::MAX` - #[allow(clippy::cast_possible_truncation)] - line_starts.push(TextSize::from(i as u32) + TextSize::from(1)); - } - _ => {} - } - } - - let kind = if utf8 { - IndexKind::Utf8 - } else { - IndexKind::Ascii - }; - - Self { - inner: Arc::new(LineIndexInner { line_starts, kind }), - } - } - - fn kind(&self) -> IndexKind { - self.inner.kind - } - - /// Returns the row and column index for an offset. - /// - /// ## Examples - /// - /// ``` - /// # use ruff_text_size::TextSize; - /// # use ruff_source_location::{LineIndex, OneIndexed, SourceLocation}; - /// let source = "def a():\n pass"; - /// let index = LineIndex::from_source_text(source); - /// - /// assert_eq!( - /// index.source_location(TextSize::from(0), source), - /// SourceLocation { row: OneIndexed::from_zero_indexed(0), column: OneIndexed::from_zero_indexed(0) } - /// ); - /// - /// assert_eq!( - /// index.source_location(TextSize::from(4), source), - /// SourceLocation { row: OneIndexed::from_zero_indexed(0), column: OneIndexed::from_zero_indexed(4) } - /// ); - /// assert_eq!( - /// index.source_location(TextSize::from(13), source), - /// SourceLocation { row: OneIndexed::from_zero_indexed(1), column: OneIndexed::from_zero_indexed(4) } - /// ); - /// ``` - /// - /// ## Panics - /// - /// If the offset is out of bounds. - pub fn source_location(&self, offset: TextSize, content: &str) -> SourceLocation { - match self.binary_search_line(&offset) { - // Offset is at the start of a line - Ok(row) => SourceLocation { - row: OneIndexed::from_zero_indexed(row), - column: OneIndexed::from_zero_indexed(0), - }, - Err(next_row) => { - // SAFETY: Safe because the index always contains an entry for the offset 0 - let row = next_row - 1; - let mut line_start = self.line_starts()[row as usize]; - - let column = if self.kind().is_ascii() { - u32::from(offset - line_start) - } else { - // Don't count the BOM character as a column. - if line_start == TextSize::from(0) && content.starts_with('\u{feff}') { - line_start = '\u{feff}'.text_len(); - } - - let range = TextRange::new(line_start, offset); - content[range].chars().count().try_into().unwrap() - }; - - SourceLocation { - row: OneIndexed::from_zero_indexed(row), - column: OneIndexed::from_zero_indexed(column), - } - } - } - } - - /// Return the number of lines in the source code. - pub(crate) fn line_count(&self) -> usize { - self.line_starts().len() - } - - /// Returns the row number for a given offset. - /// - /// ## Examples - /// - /// ``` - /// # use ruff_text_size::TextSize; - /// # use ruff_source_location::{LineIndex, OneIndexed, SourceLocation}; - /// let source = "def a():\n pass"; - /// let index = LineIndex::from_source_text(source); - /// - /// assert_eq!(index.line_index(TextSize::from(0)), OneIndexed::from_zero_indexed(0)); - /// assert_eq!(index.line_index(TextSize::from(4)), OneIndexed::from_zero_indexed(0)); - /// assert_eq!(index.line_index(TextSize::from(13)), OneIndexed::from_zero_indexed(1)); - /// ``` - /// - /// ## Panics - /// - /// If the offset is out of bounds. - pub fn line_index(&self, offset: TextSize) -> OneIndexed { - match self.binary_search_line(&offset) { - // Offset is at the start of a line - Ok(row) => OneIndexed::from_zero_indexed(row), - Err(row) => { - // SAFETY: Safe because the index always contains an entry for the offset 0 - OneIndexed::from_zero_indexed(row - 1) - } - } - } - - /// Returns the [byte offset](TextSize) for the `line` with the given index. - pub(crate) fn line_start(&self, line: OneIndexed, contents: &str) -> TextSize { - let row_index = line.to_zero_indexed_usize(); - let starts = self.line_starts(); - - // If start-of-line position after last line - if row_index == starts.len() { - contents.text_len() - } else { - starts[row_index] - } - } - - /// Returns the [byte offset](TextSize) of the `line`'s end. - /// The offset is the end of the line, up to and including the newline character ending the line (if any). - pub(crate) fn line_end(&self, line: OneIndexed, contents: &str) -> TextSize { - let row_index = line.to_zero_indexed_usize(); - let starts = self.line_starts(); - - // If start-of-line position after last line - if row_index.saturating_add(1) >= starts.len() { - contents.text_len() - } else { - starts[row_index + 1] - } - } - - /// Returns the [`TextRange`] of the `line` with the given index. - /// The start points to the first character's [byte offset](TextSize), the end up to, and including - /// the newline character ending the line (if any). - pub(crate) fn line_range(&self, line: OneIndexed, contents: &str) -> TextRange { - let starts = self.line_starts(); - - if starts.len() == line.to_zero_indexed_usize() { - TextRange::empty(contents.text_len()) - } else { - TextRange::new( - self.line_start(line, contents), - self.line_start(line.saturating_add(1), contents), - ) - } - } - - /// Returns the [byte offsets](TextSize) for every line - pub fn line_starts(&self) -> &[TextSize] { - &self.inner.line_starts - } - - #[allow(clippy::trivially_copy_pass_by_ref)] // to keep same interface as `[T]::binary_search` - fn binary_search_line(&self, offset: &TextSize) -> Result { - // `try_into()` always success as long as TextSize is u32 - match self.line_starts().binary_search(offset) { - Ok(index) => Ok(index.try_into().unwrap()), - Err(index) => Err(index.try_into().unwrap()), - } - } -} - -impl Deref for LineIndex { - type Target = [TextSize]; - - fn deref(&self) -> &Self::Target { - self.line_starts() - } -} - -impl Debug for LineIndex { - fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - f.debug_list().entries(self.line_starts()).finish() - } -} - -#[derive(Debug, Clone, Copy)] -enum IndexKind { - /// Optimized index for an ASCII only document - Ascii, - - /// Index for UTF8 documents - Utf8, -} - -impl IndexKind { - const fn is_ascii(self) -> bool { - matches!(self, IndexKind::Ascii) - } -} - -/// Type-safe wrapper for a value whose logical range starts at `1`, for -/// instance the line or column numbers in a file -/// -/// Internally this is represented as a [`NonZeroU32`], this enables some -/// memory optimizations -#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -pub struct OneIndexed(NonZeroU32); - -#[allow(clippy::cast_possible_truncation)] // manually checked -const fn try_to_u32(value: usize) -> Result { - if value <= u32::MAX as usize { - Ok(value as u32) - } else { - Err(value) - } -} - -impl OneIndexed { - // SAFETY: These constants are being initialized with non-zero values - /// The smallest value that can be represented by this integer type. - pub const MIN: Self = unwrap(Self::new(1)); - /// The largest value that can be represented by this integer type - pub const MAX: Self = unwrap(Self::new(u32::MAX)); - - const ONE: NonZeroU32 = unwrap(NonZeroU32::new(1)); - - /// Creates a non-zero if the given value is not zero. - pub const fn new(value: u32) -> Option { - match NonZeroU32::new(value) { - Some(value) => Some(Self(value)), - None => None, - } - } - - /// Construct a new [`OneIndexed`] from a zero-indexed value - pub const fn from_zero_indexed(value: u32) -> Self { - Self(Self::ONE.saturating_add(value)) - } - - /// Construct a new [`OneIndexed`] from a zero-indexed usize value - pub const fn try_from_zero_indexed(value: usize) -> Result { - match try_to_u32(value) { - Ok(value) => Ok(Self(Self::ONE.saturating_add(value))), - Err(value) => Err(value), - } - } - - /// Returns the value as a primitive type. - pub const fn get(self) -> u32 { - self.0.get() - } - - /// Return the usize value for this [`OneIndexed`] - pub const fn to_usize(self) -> usize { - self.get() as _ - } - - /// Return the zero-indexed primitive value for this [`OneIndexed`] - pub const fn to_zero_indexed(self) -> u32 { - self.0.get() - 1 - } - - /// Return the zero-indexed usize value for this [`OneIndexed`] - pub const fn to_zero_indexed_usize(self) -> usize { - self.to_zero_indexed() as _ - } - - /// Saturating integer addition. Computes `self + rhs`, saturating at - /// the numeric bounds instead of overflowing. - #[must_use] - pub const fn saturating_add(self, rhs: u32) -> Self { - match NonZeroU32::new(self.0.get().saturating_add(rhs)) { - Some(value) => Self(value), - None => Self::MAX, - } - } - - /// Saturating integer subtraction. Computes `self - rhs`, saturating - /// at the numeric bounds instead of overflowing. - #[must_use] - pub const fn saturating_sub(self, rhs: u32) -> Self { - match NonZeroU32::new(self.0.get().saturating_sub(rhs)) { - Some(value) => Self(value), - None => Self::MIN, - } - } -} - -impl std::fmt::Display for OneIndexed { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - std::fmt::Debug::fmt(&self.0.get(), f) - } -} - -/// A const `Option::unwrap` without nightly features: -/// [Tracking issue](https://github.com/rust-lang/rust/issues/67441) -const fn unwrap(option: Option) -> T { - match option { - Some(value) => value, - None => panic!("unwrapping None"), - } -} - -#[cfg(test)] -mod tests { - use crate::line_index::LineIndex; - use crate::{OneIndexed, SourceLocation}; - use ruff_text_size::TextSize; - - #[test] - fn ascii_index() { - let index = LineIndex::from_source_text(""); - assert_eq!(index.line_starts(), &[TextSize::from(0)]); - - let index = LineIndex::from_source_text("x = 1"); - assert_eq!(index.line_starts(), &[TextSize::from(0)]); - - let index = LineIndex::from_source_text("x = 1\n"); - assert_eq!(index.line_starts(), &[TextSize::from(0), TextSize::from(6)]); - - let index = LineIndex::from_source_text("x = 1\ny = 2\nz = x + y\n"); - assert_eq!( - index.line_starts(), - &[ - TextSize::from(0), - TextSize::from(6), - TextSize::from(12), - TextSize::from(22) - ] - ); - } - - #[test] - fn ascii_source_location() { - let contents = "x = 1\ny = 2"; - let index = LineIndex::from_source_text(contents); - - // First row. - let loc = index.source_location(TextSize::from(2), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(2) - } - ); - - // Second row. - let loc = index.source_location(TextSize::from(6), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - - let loc = index.source_location(TextSize::from(11), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(5) - } - ); - } - - #[test] - fn ascii_carriage_return() { - let contents = "x = 4\ry = 3"; - let index = LineIndex::from_source_text(contents); - assert_eq!(index.line_starts(), &[TextSize::from(0), TextSize::from(6)]); - - assert_eq!( - index.source_location(TextSize::from(4), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(4) - } - ); - assert_eq!( - index.source_location(TextSize::from(6), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - assert_eq!( - index.source_location(TextSize::from(7), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(1) - } - ); - } - - #[test] - fn ascii_carriage_return_newline() { - let contents = "x = 4\r\ny = 3"; - let index = LineIndex::from_source_text(contents); - assert_eq!(index.line_starts(), &[TextSize::from(0), TextSize::from(7)]); - - assert_eq!( - index.source_location(TextSize::from(4), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(4) - } - ); - assert_eq!( - index.source_location(TextSize::from(7), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - assert_eq!( - index.source_location(TextSize::from(8), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(1) - } - ); - } - - #[test] - fn utf8_index() { - let index = LineIndex::from_source_text("x = '🫣'"); - assert_eq!(index.line_count(), 1); - assert_eq!(index.line_starts(), &[TextSize::from(0)]); - - let index = LineIndex::from_source_text("x = '🫣'\n"); - assert_eq!(index.line_count(), 2); - assert_eq!( - index.line_starts(), - &[TextSize::from(0), TextSize::from(11)] - ); - - let index = LineIndex::from_source_text("x = '🫣'\ny = 2\nz = x + y\n"); - assert_eq!(index.line_count(), 4); - assert_eq!( - index.line_starts(), - &[ - TextSize::from(0), - TextSize::from(11), - TextSize::from(17), - TextSize::from(27) - ] - ); - - let index = LineIndex::from_source_text("# 🫣\nclass Foo:\n \"\"\".\"\"\""); - assert_eq!(index.line_count(), 3); - assert_eq!( - index.line_starts(), - &[TextSize::from(0), TextSize::from(7), TextSize::from(18)] - ); - } - - #[test] - fn utf8_carriage_return() { - let contents = "x = '🫣'\ry = 3"; - let index = LineIndex::from_source_text(contents); - assert_eq!(index.line_count(), 2); - assert_eq!( - index.line_starts(), - &[TextSize::from(0), TextSize::from(11)] - ); - - // Second ' - assert_eq!( - index.source_location(TextSize::from(9), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(6) - } - ); - assert_eq!( - index.source_location(TextSize::from(11), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - assert_eq!( - index.source_location(TextSize::from(12), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(1) - } - ); - } - - #[test] - fn utf8_carriage_return_newline() { - let contents = "x = '🫣'\r\ny = 3"; - let index = LineIndex::from_source_text(contents); - assert_eq!(index.line_count(), 2); - assert_eq!( - index.line_starts(), - &[TextSize::from(0), TextSize::from(12)] - ); - - // Second ' - assert_eq!( - index.source_location(TextSize::from(9), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(6) - } - ); - assert_eq!( - index.source_location(TextSize::from(12), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - assert_eq!( - index.source_location(TextSize::from(13), contents), - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(1) - } - ); - } - - #[test] - fn utf8_byte_offset() { - let contents = "x = '☃'\ny = 2"; - let index = LineIndex::from_source_text(contents); - assert_eq!( - index.line_starts(), - &[TextSize::from(0), TextSize::from(10)] - ); - - // First row. - let loc = index.source_location(TextSize::from(0), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(0) - } - ); - - let loc = index.source_location(TextSize::from(5), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(5) - } - ); - - let loc = index.source_location(TextSize::from(8), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(0), - column: OneIndexed::from_zero_indexed(6) - } - ); - - // Second row. - let loc = index.source_location(TextSize::from(10), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(0) - } - ); - - // One-past-the-end. - let loc = index.source_location(TextSize::from(15), contents); - assert_eq!( - loc, - SourceLocation { - row: OneIndexed::from_zero_indexed(1), - column: OneIndexed::from_zero_indexed(5) - } - ); - } -} diff --git a/ruff_source_location/src/newlines.rs b/ruff_source_location/src/newlines.rs deleted file mode 100644 index 75d778b8..00000000 --- a/ruff_source_location/src/newlines.rs +++ /dev/null @@ -1,446 +0,0 @@ -use memchr::{memchr2, memrchr2}; -use ruff_text_size::{TextLen, TextRange, TextSize}; -use std::iter::FusedIterator; -use std::ops::Deref; - -/// Extension trait for [`str`] that provides a [`UniversalNewlineIterator`]. -pub trait StrExt { - fn universal_newlines(&self) -> UniversalNewlineIterator<'_>; -} - -impl StrExt for str { - fn universal_newlines(&self) -> UniversalNewlineIterator<'_> { - UniversalNewlineIterator::from(self) - } -} - -/// Like [`str#lines`], but accommodates LF, CRLF, and CR line endings, -/// the latter of which are not supported by [`str#lines`]. -/// -/// ## Examples -/// -/// ```rust -/// # use ruff_text_size::TextSize; -/// # use ruff_source_location::newlines::{Line, UniversalNewlineIterator}; -/// let mut lines = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop"); -/// -/// assert_eq!(lines.next_back(), Some(Line::new("bop", TextSize::from(14)))); -/// assert_eq!(lines.next(), Some(Line::new("foo\n", TextSize::from(0)))); -/// assert_eq!(lines.next_back(), Some(Line::new("baz\r", TextSize::from(10)))); -/// assert_eq!(lines.next(), Some(Line::new("bar\n", TextSize::from(4)))); -/// assert_eq!(lines.next_back(), Some(Line::new("\r\n", TextSize::from(8)))); -/// assert_eq!(lines.next(), None); -/// ``` -pub struct UniversalNewlineIterator<'a> { - text: &'a str, - offset: TextSize, - offset_back: TextSize, -} - -impl<'a> UniversalNewlineIterator<'a> { - pub fn with_offset(text: &'a str, offset: TextSize) -> UniversalNewlineIterator<'a> { - UniversalNewlineIterator { - text, - offset, - offset_back: offset + text.text_len(), - } - } - - pub fn from(text: &'a str) -> UniversalNewlineIterator<'a> { - Self::with_offset(text, TextSize::default()) - } -} - -/// Finds the next newline character. Returns its position and the [`LineEnding`]. -#[inline] -pub fn find_newline(text: &str) -> Option<(usize, LineEnding)> { - let bytes = text.as_bytes(); - if let Some(position) = memchr2(b'\n', b'\r', bytes) { - // SAFETY: memchr guarantees to return valid positions - #[allow(unsafe_code)] - let newline_character = unsafe { *bytes.get_unchecked(position) }; - - let line_ending = match newline_character { - // Explicit branch for `\n` as this is the most likely path - b'\n' => LineEnding::Lf, - // '\r\n' - b'\r' if bytes.get(position.saturating_add(1)) == Some(&b'\n') => LineEnding::CrLf, - // '\r' - _ => LineEnding::Cr, - }; - - Some((position, line_ending)) - } else { - None - } -} - -impl<'a> Iterator for UniversalNewlineIterator<'a> { - type Item = Line<'a>; - - #[inline] - fn next(&mut self) -> Option> { - if self.text.is_empty() { - return None; - } - - let line = if let Some((newline_position, line_ending)) = find_newline(self.text) { - let (text, remainder) = self.text.split_at(newline_position + line_ending.len()); - - let line = Line { - offset: self.offset, - text, - }; - - self.text = remainder; - self.offset += text.text_len(); - - line - } - // Last line - else { - Line { - offset: self.offset, - text: std::mem::take(&mut self.text), - } - }; - - Some(line) - } - - fn last(mut self) -> Option { - self.next_back() - } -} - -impl DoubleEndedIterator for UniversalNewlineIterator<'_> { - #[inline] - fn next_back(&mut self) -> Option { - if self.text.is_empty() { - return None; - } - - let len = self.text.len(); - - // Trim any trailing newlines. - let haystack = match self.text.as_bytes()[len - 1] { - b'\n' if len > 1 && self.text.as_bytes()[len - 2] == b'\r' => &self.text[..len - 2], - b'\n' | b'\r' => &self.text[..len - 1], - _ => self.text, - }; - - // Find the end of the previous line. The previous line is the text up to, but not including - // the newline character. - let line = if let Some(line_end) = memrchr2(b'\n', b'\r', haystack.as_bytes()) { - // '\n' or '\r' or '\r\n' - let (remainder, line) = self.text.split_at(line_end + 1); - self.text = remainder; - self.offset_back -= line.text_len(); - - Line { - text: line, - offset: self.offset_back, - } - } else { - // Last line - let offset = self.offset_back - self.text.text_len(); - Line { - text: std::mem::take(&mut self.text), - offset, - } - }; - - Some(line) - } -} - -impl FusedIterator for UniversalNewlineIterator<'_> {} - -/// Like [`UniversalNewlineIterator`], but includes a trailing newline as an empty line. -pub struct NewlineWithTrailingNewline<'a> { - trailing: Option>, - underlying: UniversalNewlineIterator<'a>, -} - -impl<'a> NewlineWithTrailingNewline<'a> { - pub fn from(input: &'a str) -> NewlineWithTrailingNewline<'a> { - Self::with_offset(input, TextSize::default()) - } - - pub fn with_offset(input: &'a str, offset: TextSize) -> Self { - NewlineWithTrailingNewline { - underlying: UniversalNewlineIterator::with_offset(input, offset), - trailing: if input.ends_with(['\r', '\n']) { - Some(Line { - text: "", - offset: offset + input.text_len(), - }) - } else { - None - }, - } - } -} - -impl<'a> Iterator for NewlineWithTrailingNewline<'a> { - type Item = Line<'a>; - - #[inline] - fn next(&mut self) -> Option> { - self.underlying.next().or_else(|| self.trailing.take()) - } -} - -#[derive(Debug, Clone, Eq, PartialEq)] -pub struct Line<'a> { - text: &'a str, - offset: TextSize, -} - -impl<'a> Line<'a> { - pub fn new(text: &'a str, offset: TextSize) -> Self { - Self { text, offset } - } - - #[inline] - pub const fn start(&self) -> TextSize { - self.offset - } - - /// Returns the byte offset where the line ends, including its terminating new line character. - #[inline] - pub fn full_end(&self) -> TextSize { - self.offset + self.full_text_len() - } - - /// Returns the byte offset where the line ends, excluding its new line character - #[inline] - pub fn end(&self) -> TextSize { - self.offset + self.as_str().text_len() - } - - /// Returns the range of the line, including its terminating new line character. - #[inline] - pub fn full_range(&self) -> TextRange { - TextRange::at(self.offset, self.text.text_len()) - } - - /// Returns the range of the line, excluding its terminating new line character - #[inline] - pub fn range(&self) -> TextRange { - TextRange::new(self.start(), self.end()) - } - - /// Returns the text of the line, excluding the terminating new line character. - #[inline] - pub fn as_str(&self) -> &'a str { - let mut bytes = self.text.bytes().rev(); - - let newline_len = match bytes.next() { - Some(b'\n') => { - if bytes.next() == Some(b'\r') { - 2 - } else { - 1 - } - } - Some(b'\r') => 1, - _ => 0, - }; - - &self.text[..self.text.len() - newline_len] - } - - /// Returns the line's text, including the terminating new line character. - #[inline] - pub fn as_full_str(&self) -> &'a str { - self.text - } - - #[inline] - pub fn full_text_len(&self) -> TextSize { - self.text.text_len() - } -} - -impl Deref for Line<'_> { - type Target = str; - - fn deref(&self) -> &Self::Target { - self.as_str() - } -} - -impl PartialEq<&str> for Line<'_> { - fn eq(&self, other: &&str) -> bool { - self.as_str() == *other - } -} - -impl PartialEq> for &str { - fn eq(&self, other: &Line<'_>) -> bool { - *self == other.as_str() - } -} - -/// The line ending style used in Python source code. -/// See -#[derive(Debug, PartialEq, Eq, Copy, Clone)] -pub enum LineEnding { - Lf, - Cr, - CrLf, -} - -impl Default for LineEnding { - fn default() -> Self { - if cfg!(windows) { - LineEnding::CrLf - } else { - LineEnding::Lf - } - } -} - -impl LineEnding { - pub const fn as_str(&self) -> &'static str { - match self { - LineEnding::Lf => "\n", - LineEnding::CrLf => "\r\n", - LineEnding::Cr => "\r", - } - } - - #[allow(clippy::len_without_is_empty)] - pub const fn len(&self) -> usize { - match self { - LineEnding::Lf | LineEnding::Cr => 1, - LineEnding::CrLf => 2, - } - } - - pub const fn text_len(&self) -> TextSize { - match self { - LineEnding::Lf | LineEnding::Cr => TextSize::new(1), - LineEnding::CrLf => TextSize::new(2), - } - } -} - -impl Deref for LineEnding { - type Target = str; - - fn deref(&self) -> &Self::Target { - self.as_str() - } -} - -#[cfg(test)] -mod tests { - use super::UniversalNewlineIterator; - use crate::newlines::Line; - use ruff_text_size::TextSize; - - #[test] - fn universal_newlines_empty_str() { - let lines: Vec<_> = UniversalNewlineIterator::from("").collect(); - assert_eq!(lines, Vec::::new()); - - let lines: Vec<_> = UniversalNewlineIterator::from("").rev().collect(); - assert_eq!(lines, Vec::::new()); - } - - #[test] - fn universal_newlines_forward() { - let lines: Vec<_> = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop").collect(); - assert_eq!( - lines, - vec![ - Line::new("foo\n", TextSize::from(0)), - Line::new("bar\n", TextSize::from(4)), - Line::new("\r\n", TextSize::from(8)), - Line::new("baz\r", TextSize::from(10)), - Line::new("bop", TextSize::from(14)), - ] - ); - - let lines: Vec<_> = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop\n").collect(); - assert_eq!( - lines, - vec![ - Line::new("foo\n", TextSize::from(0)), - Line::new("bar\n", TextSize::from(4)), - Line::new("\r\n", TextSize::from(8)), - Line::new("baz\r", TextSize::from(10)), - Line::new("bop\n", TextSize::from(14)), - ] - ); - - let lines: Vec<_> = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop\n\n").collect(); - assert_eq!( - lines, - vec![ - Line::new("foo\n", TextSize::from(0)), - Line::new("bar\n", TextSize::from(4)), - Line::new("\r\n", TextSize::from(8)), - Line::new("baz\r", TextSize::from(10)), - Line::new("bop\n", TextSize::from(14)), - Line::new("\n", TextSize::from(18)), - ] - ); - } - - #[test] - fn universal_newlines_backwards() { - let lines: Vec<_> = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop") - .rev() - .collect(); - assert_eq!( - lines, - vec![ - Line::new("bop", TextSize::from(14)), - Line::new("baz\r", TextSize::from(10)), - Line::new("\r\n", TextSize::from(8)), - Line::new("bar\n", TextSize::from(4)), - Line::new("foo\n", TextSize::from(0)), - ] - ); - - let lines: Vec<_> = UniversalNewlineIterator::from("foo\nbar\n\nbaz\rbop\n") - .rev() - .map(|line| line.as_str()) - .collect(); - - assert_eq!( - lines, - vec![ - Line::new("bop\n", TextSize::from(13)), - Line::new("baz\r", TextSize::from(9)), - Line::new("\n", TextSize::from(8)), - Line::new("bar\n", TextSize::from(4)), - Line::new("foo\n", TextSize::from(0)), - ] - ); - } - - #[test] - fn universal_newlines_mixed() { - let mut lines = UniversalNewlineIterator::from("foo\nbar\n\r\nbaz\rbop"); - - assert_eq!( - lines.next_back(), - Some(Line::new("bop", TextSize::from(14))) - ); - assert_eq!(lines.next(), Some(Line::new("foo\n", TextSize::from(0)))); - assert_eq!( - lines.next_back(), - Some(Line::new("baz\r", TextSize::from(10))) - ); - assert_eq!(lines.next(), Some(Line::new("bar\n", TextSize::from(4)))); - assert_eq!( - lines.next_back(), - Some(Line::new("\r\n", TextSize::from(8))) - ); - assert_eq!(lines.next(), None); - } -} diff --git a/scripts/cspell.sh b/scripts/cspell.sh index 116ce9ed..62f8cf29 100644 --- a/scripts/cspell.sh +++ b/scripts/cspell.sh @@ -1,3 +1,2 @@ #!/bin/bash cspell "ast/**/*.rs" "literal/**/*.rs" "core/**/*.rs" "parser/**/*.rs" -cspell ast/asdl_rs.py diff --git a/scripts/update_asdl.sh b/scripts/update_asdl.sh deleted file mode 100755 index c7115a51..00000000 --- a/scripts/update_asdl.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -set -e - -cd "$(dirname "$(dirname "$0")")" - -# rm ast/src/gen/*.rs -python ast/asdl_rs.py --ast-dir ast/src/gen/ --parser-dir parser/src/gen/ --ast-pyo3-dir ast-pyo3/src/gen/ --module-file ../RustPython/vm/src/stdlib/ast/gen.rs ast/Python.asdl -rustfmt ast/src/gen/*.rs parser/src/gen/*.rs ast-pyo3/src/gen/*.rs ../RustPython/vm/src/stdlib/ast/gen.rs